Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mahammad-mostafa/tesla-booking-back-end

This is the backend of the capstone project of the full stack module in the Microverse program. Rails is configured as an API with PostgreSQL database.
https://github.com/mahammad-mostafa/tesla-booking-back-end

api api-rest backend-api gitflow-workflow json-api microverse microverse-projects microverse-rails-capstone microverse-students mvc-architecture postgresql rails rails-api relational-databases rubocop ruby ruby-on-rails

Last synced: 27 days ago
JSON representation

This is the backend of the capstone project of the full stack module in the Microverse program. Rails is configured as an API with PostgreSQL database.

Awesome Lists containing this project

README

        


tesla logo

Tesla | Book a Ride App


---

# 📗 Table of Contents

- [📖 Tesla Booking Backend](#-about-project-)
- [🛠 Built With](#-built-with-)
- [Key Features](#-key-features-)
- [Documentation](#-documentation-)
- [🚀 Live Demo](#-live-demo-)
- [Link to Frontend](#-link-to-frontend-)
- [💻 Getting Started](#-getting-started-)
- [👥 Authors](#-authors-)
- [🔭 Future Features](#-future-features-)
- [🤝 Contributing](#-contributing-)
- [⭐️ Show your support](#️-show-your-support-)
- [🙏 Acknowledgments](#-acknowledgments-)
- [📝 License](#-license-)

## About the project

# 📖 Tesla Booking Backend

**Tesla Booking Backend** is the rails only api app for the full stack tesla booking app. It provides all the endpoints for the [frontend](https://github.com/ITurres/tesla-booking-front-end) to consume. Here the logic for the app is implemented.

- [Tesla Booking Frontend Kanban Board](https://github.com/users/ITurres/projects/6/views/1)

- [Tesla Booking Backend Kanban Board](https://github.com/users/mahammad-mostafa/projects/4)

### **Team Members**

- Demes Abera Ameneshoa - GitHub: [@demesameneshoa](https://github.com/demesameneshoa)
- Fatema Nazari [@78fatemanazari](https://github.com/78fatemanazari)
- Arthur Emanuel G. Iturres [@ITurres](https://github.com/ITurres)
- Mahammad Mostafa [@mahammad-mostafa](https://github.com/mahammad-mostafa)

### **ER Diagram**

The API is designed as per the ER Diagram shown below which dictates the association of models and their relationships.

## 🛠 Built With

### Tech Stack


### Key Features

- [x] **Ruby on Rails As an API**.
- [x] **Postgres Database**.
- [x] **API Routed to Provide Response for Requests**.
- [x] **Git Version Control**.
- [x] **User Authentication Managed by Devise**.
- [x] **JWT Token as Authorization Key**.
- [x] **Models Associations**.
- [x] **API Documentation**.

(back to top)

## API Documentation

- You can view the input json and response json formats and also you can interact with the API database to visualize the input and output flow of requests and responses.
- [Api docs](https://tesla-booking-api-x2xe.onrender.com/api-docs)

## Live Demo

- [API URL](https://tesla-booking-api-x2xe.onrender.com)

## 🎨 Link to Frontend

- [Frontend](https://github.com/ITurres/tesla-booking-front-end)

(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:

```sh
mkdir tesla-booking-api
cd tesla-booking-api
```

### Setup

Clone this repository to your desired folder:

- With SSH:

```bash
cd my-folder
git clone [email protected]:mahammad-mostafa/tesla-booking-back-end.git
```

- With HTTPS:

```bash
cd my-folder
git clone https://github.com/mahammad-mostafa/tesla-booking-back-end.git
```

- With GitHub CLI:

```bash
cd my-folder
gh repo clone mahammad-mostafa/tesla-booking-back-end
```

### Database setup

Connect to your local postgres database:

```bash
Inside the config/database.yml file add your

POSTGRES_USER=
POSTGRES_PASSWORD=

```

### Install

Install this project with:

```bash
cd tesla-booking-back-end
bundle install
rails db:create - create the database
rails db:migrate - run pending migrations for the current environment.
rails db:seed
```

### Usage

To run the project, execute the following command:

```bash
rails server - Starts the development server
rails console - Starts the interactive command line
```

(back to top)

## Authors

👤 **Demes Ameneshoa**

- GitHub: [@demesameneshoa](https://github.com/demesameneshoa)
- Twitter: [@demesabera](https://twitter.com/demesabera)
- LinkedIn: [demesameneshoa](https://www.linkedin.com/in/demesameneshoa/)

👤 **Fatema Nazari**

- GitHub: [@78fatemanazari](https://github.com/78fatemanazari)
- Twitter: [@fati_nazari78](https://twitter.com/fati_nazari78?s=31)
- LinkedIn: [78fatemanazari](https://www.linkedin.com/in/78fatemanazari)

(back to top)

## 🔭 Future Features

- [ ] Unit Tests
- [ ] Add More Endpoints
- [ ] Add Users Role Based Access

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/mahammad-mostafa/tesla-booking-back-end/issues).

(back to top)

## ⭐️ Show your support

If you like this project please leave a star 🤩

(back to top)

## 🙏 Acknowledgments

We would like to acknowledge the Microverse community and the staff for their incredible support through out our journey.

- [Microverse](https://www.microverse.org/)

(back to top)

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)

---