Skip to content

This is our melody rentals api built with ruby on rails and deployed on render. It contains json data of various instruments from different countries. There are also endpoints for user signup, login, logout and instrument reservations. .

License

Notifications You must be signed in to change notification settings

TracyMuso/MelodyRentals-BackEnd

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

logo

πŸ“— Table of Contents

πŸ“– MelodyRentals Backend

Melody Rentals-logo

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).

πŸ›  Built With

Tech Stack

Client
Server
  • Rails
Database

Key Features

  • [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]

(back to top)

Website Mockup πŸ“± πŸ’» πŸ–₯️

(back to top)

Kanban Board

  • We are a group of 5 people, So we have devided each task for track of the project.

Kanban Board

(back to top)

API Documentation

(back to top)

πŸ“‡ Entity Relationship Diagram

er-diagram

React Frontend

πŸš€ Live Demo

for the API

(back to top)

πŸ’» Getting Started

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:

  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:

   rails s -p 3001 # # for serving the API on localhost:3001

Run tests

bundle exec rspec

(back to top)

πŸ‘₯ Authors (5 Micronauts)

πŸ‘€ Farida Hamid

πŸ‘€ Megha Bodke

πŸ‘€ Tracy Musongole

πŸ‘€Elie Harfouche

πŸ‘€ Bantealem Geto

(back to top)

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project!

(back to top)

πŸ™ Acknowledgments

I would like to thank:

(back to top)

❓ FAQ

  • How I can install rails?

    • You can follow the official guide 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 or Insomnia. You can also use the API Documentation to test the endpoints.
  • How I can run tests?

    • After cloning repository, run bundle and then run rspec to run the tests.

(back to top)

πŸ“ License

This project is MIT licensed.

About

This is our melody rentals api built with ruby on rails and deployed on render. It contains json data of various instruments from different countries. There are also endpoints for user signup, login, logout and instrument reservations. .

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 96.0%
  • Batchfile 3.7%
  • HTML 0.3%