Git Product home page Git Product logo

graujavier / final-capstone-back-end Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 2.0 306 KB

RentEaze is a rental booking app that allows users to easily reserve visits of places for rent. Browse available listings, view details, check calendars and instantly book visits. Property owners can also publish and manage their rental listings, set rates and availability, and approve booking requests all through the intuitive app interface.

Home Page: https://renteaze-d1cc8b293660.herokuapp.com/api-docs/index.html

License: MIT License

Dockerfile 2.06% Ruby 97.43% HTML 0.28% Shell 0.23%
ror-api ruby-on-rails

final-capstone-back-end's Introduction

Final Capstone Back End

๐Ÿ“— Table of Contents

๐Ÿ“– Final Capstone Back End

final_capstone_back_end The back-end component of this final capstone project is developed using Ruby on Rails, configured to serve as an API. This API is designed to facilitate creation of places to rent, and to allow users to make reservations for those places. It leverages a PostgreSQL database to manage and store reservation data. The API is designed to be consumed by a front-end application, which is developed using React.js.

๐Ÿ›  ER Diagram

ER Diagram

(back to top)

๐Ÿ’ป Link to front end

Link to Front End

(back to top)

๐Ÿ’ป link to Kanban board information

Link to Kanban Board

Initial state

This project was completed by three Team members:

  • Javier Grau
  • Manuel Sanchez
  • Anthony Vรกsquez

(back to top)

๐Ÿ›  Built With

Tech Stack

Technologies
Linters
  • Rubocop

Key Features

  • Ruby on Rails
  • API Endpoint
  • Professional Documentation
  • Linting for Code Quality
  • Postgres Database
  • Git Version Control

(back to top)

๐Ÿ’ป Getting Started

To get a local copy up and running, follow these steps:

Prerequisites

Before you begin, ensure you have the following prerequisites installed on your system:

  • Ruby: You need Ruby to run the Ruby on Rails application.
  • Bundler: Bundler is used to manage gem dependencies for your Ruby project.

Setup

In your terminal, navigate to the folder of your choice and clone the repository with the following commands:

cd my-folder
git clone [email protected]:grauJavier/final-capstone-back-end.git

Install

After cloning the project, change into the project directory:

cd final_capstone_back_end

Install this project with:

  • gem install rails
  • bundle install

Credentials setup

In order to create databases and run the tests, you need to follow this steps:

  1. Remove config/master.key and config/credentials.yml.enc if they exist.
  2. Run rails secret. This will generate a key. Copy and reserve the key to use later.
  3. If you use Windows run: $env:EDITOR="code --wait"; rails credentials:edit If you use Linux run: EDITOR="code --wait" bin/rails credentials:edit
  4. Your editor will open a file, add at the bottom devise_jwt_secret_key: <the key you copied in step 2>
  5. Save the file and close the editor. New master.key, credentials.yml.enc files will be generated, and the key will be stored in Rails.application.credentials.devise_jwt_secret_key.

Database Setup

Create and migrate your database with:

rails db:create
rails db:migrate
rails db:seed

Usage

To run the project, execute the following command:

rails server
or
rails s

This should start your local server on http://localhost:3000/. Now, you can use the REST API client of your choice to interact with the API.

(back to top)

๐Ÿ”ฌ Running Tests

To run tests, navigate to the directory where the project is located on your machine, open your terminal, and follow these steps:

Test Suite

This project contains a suite of unit tests which you can run to ensure everything is functioning as expected. To run these tests, you need RSpec installed.

To install RSpec if you haven't already, run:

gem install rspec

After you've installed RSpec, you can run the tests with:

rspec

(back to top)

๐Ÿ’ป API Documentation

(back to top)

๐Ÿ‘ฅ Authors

๐Ÿ‘ค Javier Grau

๐Ÿ‘ค Manuel Sanchez

๐Ÿ‘ค lRebornsl

(back to top)

๐Ÿ”ญ Future Features

  • Implement proper user authentication from the front-end to the server
  • Add authorizations to users

(back to top)

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

โญ๏ธ Show your support

If you like this project please feel free to send me corrections for make it better I would feel glad to read your comments. And think If you enjoy gift me a star.

(back to top)

๐Ÿ™ Acknowledgments

  • Behance and Murat Korkmaz for the original design
  • Microverse for providing the opportunity to learn in a collaborative environment.
  • React.js Documentation for valuable resources on React development.
  • GitHub for version control and collaboration tools.

(back to top)

โ“ FAQ (OPTIONAL)

  • Can I use with a templeate your project?

    • Of course we would feel honored.
  • Your project is free license?

    • Yeah, you can use it completely.

(back to top)

๐Ÿ“ License

This project is licensed under the MIT License - you can click here to have more details MIT.

(back to top)

final-capstone-back-end's People

Contributors

luffytaro22 avatar graujavier avatar lrebornsl avatar

Stargazers

 avatar Arthur Iturres avatar Claudia  P. R. Soto avatar  avatar

Watchers

 avatar

final-capstone-back-end's Issues

12. Solve N+1 issues [2pts][STUDENT C]

Add access control for admin-specific features. Implement role-based access control to restrict certain features to admin users while allowing regular users to access basic functionality.

17. Create tests for models [2pts][GROUP ACTIVITY]

In this task, we will develop comprehensive test suites for the models in our back-end Ruby on Rails API. Testing is crucial to ensure the reliability and functionality of our application. These tests will cover various aspects of the models, including validations, associations, and methods. By creating tests for our models, we can identify and address issues early in the development process, helping us maintain data integrity and provide a robust foundation for our application.

6. Implement CRUD for Items [3pts][STUDENT B]

Create endpoints for creating, reading, updating, and deleting items. This task involves designing and implementing API endpoints to manage items, allowing users to perform CRUD operations.

4. Create Item model [0.5pts][STUDENT B]

Generate an Item model to represent motorcycles/doctors/classes/items. Create the Item model with necessary attributes and relationships for managing the items in the application.

2. Create User model [0.5pts][STUDENT A]

Generate a User model to handle user authentication. This includes creating the User model with attributes, validations, and associations required for user registration and authentication.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.