"Final Capstone Back-End" is an API designed to host various gastronomic experiences, user records, and user reservations for different experiences. The allowed actions in this app are to create a new user, create, delete, and get reservations as well as get experiences. It was designed in Ruby on Rails and PostgreSQL.
Linters
- Ruby on Rails framework
-
Use Linters to check code quality
- Rubocop
- MVC architectural/design pattern
- Data persistent in PostgreSQL
- RESTful API
- Swagger to generate API doc
- Users, Experiences and Reservations endpoints
On the following ERD you can see the structure of this project.
The frontend project for this API can be found in the following link: Final Capstopne Front-End
To get a local copy up and running, follow these steps.
In order to run this project you need:
- A code editor (we recommend Visual Studio Code)
- Git and a GitHub account
- Ruby on Rails, you can get it here
- PostgreSQL, you can get it here
Clone this repository to your desired folder by using the command:
git clone https://github.com/HFG43/final_capstone_back_end
Go to the project directory:
cd final_capstone_back_end
Before to run the program, run the following command to install the necessary gems:
bundle install
After installing the gems, run the following command to create and migrate the database:
rails db:create
rails db:migrate
rails db:seed
Run the following command inside the project folder to start the application:
rails s
On this app you can find different test of models and request in the spec
directory, to run them follow any of the following commands:
rspec
bundle exec rspec
Those commands will start the application on your local server. You can now open your browser and go to http://localhost:3000/ to see the application running.
Remember that this is an API so, to read the documentation follow this link after started the server.
To verify that the ruby code is written without errors and meets good practice standards, run the following command inside the project folder:
- ruby linter:
rubocop
To fix the linter use any of the following options:
rubocop --fix
rubocop -a
rubocop -A
👤 Andrés Zamorano
- GitHub: Andres Zamorano
- Twitter: Andres Zamorano
- LinkedIn: Andres Zamorano
👤 Andrea Manuel
- GitHub: @AndreaM2429
- Twitter: @AndreaManuelOr1
- LinkedIn: Andrea Manuel
👤 Nitcelis Bravo
- GitHub: Nitcelis Bravo
- Twitter: @softwareDevOne
- LinkedIn: Nitcelis Bravo Alcala
👤 Hernán Güemes
- GitHub: @HFG43
- LinkedIn: hernanguemes
Upcoming improvements:
- Add the endpoint to update a reservation.
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project and know someone who might find it helpful, please share it. Or give it a star ⭐️ if you like this project!
I thank Microverse for this fantastic opportunity, and the code reviewers for their advice and time.
This project is MIT licensed.