Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/graujavier/final-capstone-back-end
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.
https://github.com/graujavier/final-capstone-back-end
ror-api ruby-on-rails
Last synced: 8 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/graujavier/final-capstone-back-end
- Owner: grauJavier
- License: mit
- Created: 2023-10-25T12:13:00.000Z (about 1 year ago)
- Default Branch: dev
- Last Pushed: 2023-11-16T16:32:24.000Z (about 1 year ago)
- Last Synced: 2024-05-17T15:42:34.042Z (6 months ago)
- Topics: ror-api, ruby-on-rails
- Language: Ruby
- Homepage: https://renteaze-d1cc8b293660.herokuapp.com/api-docs/index.html
- Size: 299 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Table of Contents
- [๐ Table of Contents](#-table-of-contents)
- [๐ final\_capstone\_back\_end ](#-final_capstone_back_end-)
- [๐ ER Diagram ](#-er-diagram-)
- [๐ป link to front end ](#-link-to-front-end-)
- [๐ป link to Kanban board information ](#-link-to-kanban-board-information-)
- [๐ Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [๐ป Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Database Setup](#database-setup)
- [Usage](#usage)
- [๐ฌ Running Tests ](#-running-tests-)
- [Test Suite](#test-suite)
- [๐ป API Documentation ](#-api-documentation-)
- [๐ฅ Authors ](#-authors-)
- [๐ญ Future Features ](#-future-features-)
- [๐ค Contributing ](#-contributing-)
- [โญ๏ธ Show your support ](#๏ธ-show-your-support-)
- [๐ Acknowledgments ](#-acknowledgments-)
- [โ FAQ (OPTIONAL) ](#-faq-optional-)
- [๐ License ](#-license-)# ๐ 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](./src/ERD.png)
[Link to Front End](https://github.com/grauJavier/final-capstone-front-end)
## ๐ป link to Kanban board information
[Link to Kanban Board](https://github.com/grauJavier/final-capstone-back-end/projects/1)
[Initial state](https://github.com/grauJavier/final-capstone-front-end/issues/38)
This project was completed by three Team members:
- Javier Grau
- Manuel Sanchez
- Anthony VรกsquezTechnologies
Linters
- Rubocop
- **Ruby on Rails**
- **API Endpoint**
- **Professional Documentation**
- **Linting for Code Quality**
- **Postgres Database**
- **Git Version Control**
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:
```sh
cd my-folder
git clone [email protected]:grauJavier/final-capstone-back-end.git
```
### Install
After cloning the project, change into the project directory:
```sh
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: `
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:
```sh
rails db:create
rails db:migrate
rails db:seed
```
### Usage
To run the project, execute the following command:
```sh
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.
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:
```sh
gem install rspec
```
After you've installed RSpec, you can run the tests with:
```sh
rspec
```
[API Documentation](https://renteaze-d1cc8b293660.herokuapp.com/api-docs/index.html)
![API Methods](./src/API_documentation.png)
๐ค **Javier Grau**
- GitHub: [@grauJavier](https://github.com/grauJavier)
- LinkedIn: [Javier Grau](https://www.linkedin.com/in/javiergrau)
๐ค **Manuel Sanchez**
- GitHub: [@Luffytaro22](https://github.com/Luffytaro22)
- LinkedIn: [Manuel Sanchez](https://www.linkedin.com/in/manuel-alejandro-sanchez-sierra/)
๐ค **lRebornsl**
- GitHub: [@lRebornsl](https://github.com/lRebornsl)
- Twitter: [@RebornsDev](https://twitter.com/RebornsDev)
- LinkedIn: [Anthony Vรกsquez](https://www.linkedin.com/in/avvm98/)
- [ ] **Implement proper user authentication from the front-end to the server**
- [ ] **Add authorizations to users**
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/grauJavier/final-capstone-back-end/issues).
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.
- Behance and Murat Korkmaz for the [original design](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)
- 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.
- **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.
This project is licensed under the MIT License - you can click here to have more details [MIT](./LICENSE).