Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mahammad-mostafa/tesla-booking-back-end
- Owner: mahammad-mostafa
- License: mit
- Created: 2024-01-18T21:46:16.000Z (10 months ago)
- Default Branch: development
- Last Pushed: 2024-02-23T20:40:29.000Z (9 months ago)
- Last Synced: 2024-10-08T21:57:13.313Z (about 1 month ago)
- Topics: 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
- Language: Ruby
- Homepage:
- Size: 377 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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-)**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.
- [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**.
- 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)
- [API URL](https://tesla-booking-api-x2xe.onrender.com)
- [Frontend](https://github.com/ITurres/tesla-booking-front-end)
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
```
👤 **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)
- [ ] Unit Tests
- [ ] Add More Endpoints
- [ ] Add Users Role Based Access
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/mahammad-mostafa/tesla-booking-back-end/issues).
If you like this project please leave a star 🤩
We would like to acknowledge the Microverse community and the staff for their incredible support through out our journey.
- [Microverse](https://www.microverse.org/)
This project is [MIT](./LICENSE) licensed.
---