Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/farida-hamid/melodyrentals-backend
Melody Rentals is a musical instrument rental application. Built with: Ruby on Rails, API, JWT-Device, and RSPEC.
https://github.com/farida-hamid/melodyrentals-backend
jwt-authentication rails-api ruby
Last synced: 29 days ago
JSON representation
Melody Rentals is a musical instrument rental application. Built with: Ruby on Rails, API, JWT-Device, and RSPEC.
- Host: GitHub
- URL: https://github.com/farida-hamid/melodyrentals-backend
- Owner: Farida-Hamid
- License: mit
- Created: 2023-01-20T08:51:50.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-02-04T05:59:45.000Z (almost 2 years ago)
- Last Synced: 2024-05-28T22:07:15.707Z (6 months ago)
- Topics: jwt-authentication, rails-api, ruby
- Language: Ruby
- Homepage:
- Size: 169 KB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [ Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [Website Mockup 📱 💻 🖥️](#screenshots)
- [🖺 Entity Relationship Diagram](#er-diagram)
- [ Kanban Board](#kanban-board)
- [ React Frontend](#react-frontend)
- [ API Documentation](#api-docs)
- [🚀 Live Demo](#live-demo)
- [💻 Getting Started](#getting-started)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#triangular_flag_on_post-deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [❓ FAQ](#faq)
- [📝 License](#license)# 📖 MelodyRentals Backend
![Melody Rentals-logo](./IMG_4089.png)**Melody Rentals Backend** is a musicial instruments rental application where the user can register new accounts, login and reserve a set of different instruments. It is built and connected by using two different repos, including Back-end(Rails) and Front-end(React/Redux).
Client
Server
- Rails
Database
- **[Musical Instrumetns List endpoint]**
- **[Devise authentication to access Reservations]**
- **[JWT Authorization upon login and register]**
- **[Admin Users can add and remove instruments]**
- **[Authenticated Users can reserve instruments]**
- We are a **group of 5 people**, So we have devided each task for track of the project.
### Kanban Board
- [Kanban Board ](https://github.com/users/Farida-Hamid/projects/11)
- The API documentation of the project [Melody Rentals API-Docs](http://127.0.0.1:3000/api-docs/index.html)
![api-docs](https://user-images.githubusercontent.com/101523582/215738304-fc6826cc-802d-45e6-b12b-7af872e623f1.png)
## :card_index: Entity Relationship Diagram
![er-diagram](https://user-images.githubusercontent.com/101523582/215735670-fbaca35e-fb40-4002-8a64-6a1a6ff66120.png)
## React Frontend
- The Frontend part of the project [Melody Rentals Frontend](https://github.com/Farida-Hamid/MelodyRentals-FrontEnd)
# for the API
- [Live Demo :rocket:](https://melody-rentals.onrender.com/api/v1) :smiley:
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
`Git` and `Ruby`
```
gem install rails
```
### Install
Install this project with:
```sh
bundle install
```
- Generate a secret key using `rails secret`
- Create a `.env` file with the following content:
```
POSTGRES_USER=postgres
# If you declared a password when creating the database:
POSTGRES_PASSWORD=YourPassword
POSTGRES_HOST=localhost
POSTGRES_DB=Hello_Rails_Backend_development
POSTGRES_TEST_DB=Hello_Rails_Backend_test
# Devise secret key
DEVISE_JWT_SECRET_KEY=Secret Key you generated
```
Create Database (Mandatory)
```
rails db:create
```
If you have made a migration then run this command
```
rails db:migrate
```
```
rails db:seed
```
### Usage
To run the project, execute the following command:
```sh
rails s -p 3001 # # for serving the API on localhost:3001
```
Run tests
```
bundle exec rspec
```
👤 **Farida Hamid**
- LinkedIn: [LinkedIn](https://linkedin.com/in/farida-hamid)
- GitHub: [@Farida-Hamid](https://github.com/Farida-Hamid)
👤 **Megha Bodke**
- GitHub: [@megha-n-bodke](https://github.com/megha-n-bodke)
- LinkedIn: [Megha Bodke](https://www.linkedin.com/in/megha-bodke/)
👤 **Tracy Musongole**
- GitHub: [@TracyMuso](https://github.com/TracyMuso)
- LinkedIn: [Tracy Musongole](https://www.linkedin.com/in/tracy-muso/)
👤**Elie Harfouche**
- GitHub: [@X-Elie-X](https://github.com/X-Elie-X)
- LinkedIn: [Elie Harfouche](https://www.linkedin.com/in/elie-m-harfouche/)
👤 **Bantealem Geto**
- GitHub: [Bantealem](https://github.com/Bantealem)
- Twitter: [Bantealem](https://twitter.com/BantealemG)
- LinkedIn: [Bantealem](https://www.linkedin.com/in/bantealem-geto-a301b9213/)
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/Farida-Hamid/MelodyRentals-BackEnd/issues).
Give a ⭐️ if you like this project!
I would like to thank:
- [Microverse](https://www.microverse.org/)
- Code Reviewers
- **How I can install rails?**
- You can follow the [official guide](https://guides.rubyonrails.org/getting_started.html#installing-rails) to install rails. If you have gem installed, you can run `gem install rails` to install rails.
- **How I can run this project?**
- After cloning repository, run `bundle` and then run `rails s` with option argument `-p 3001`. This will run the server on `localhost:3001`. You can change the port number if you want. Then you can use any API client to test the endpoints. For example, you can use [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/). You can also use the [API Documentation](http://127.0.0.1:3000/api-docs/index.html) to test the endpoints.
- **How I can run tests?**
- After cloning repository, run `bundle` and then run `rspec` to run the tests.
This project is [MIT](./LICENSE) licensed.