/Rental-Cars

Primary LanguageRubyMIT LicenseMIT

📗 Table of Contents

📖 Rental Cars

This Rental Cars API Backend is a Ruby on Rails application that serves as the backend for a rental car appointment booking system. This API provides endpoints for managing items (cars), user reservations, user authentication, and navigation links. The API allows users to create, retrieve, update, and delete items, make reservations, authenticate users, and retrieve navigation links for the user interface.

🛠 Built With

Tech Stack

Server: Ruby on Rails
Database: PostgreSQL

Key Features

Item Management: Create, read, update, and delete car items for rent.
Reservation: Allow users to make reservations for available items.
User Authentication: User registration, login, and logout using Devise.
Navigation Links: Retrieve navigation links for the user interface.

(back to top)

Frontend Part of the Project

Rental Cars Frontend

(back to top)

Live Demo

Live-Demo

(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 the following installed on your computer:
Ruby v3+,
Rails v7+
PostgreSQL
An IDE e.g. Visual Studio Code
A terminal e.g. Git BASH

Setup

Clone this repository to your local machine:

git clone https://github.com/Itswali/Rental-Cars

Install Ruby, Rails, and PostgreSQL if not already installed.

Navigate to the directory:

cd Rental-Cars

Install

Install gem dependencies:

bundle install

Database Setup

Set up your database configuration in config/database.yml. Edit the username and password with your PostgreSQL credentials (line 21 and 22)

Create and run database migrations with:

rails db:create db:migrate

Usage

Start the Rails server with:

rails server

(back to top)

Kanban Board

  • Click here to see our kanban board

  • Below is the initial state of our kanban board

    capstone kanban board

  • At the end of the project, there were still 4 members in this team.

(back to top)

👤 Authors

👤 Wali Muhammad

👤 Samuel Obuobi Lartey

👤 Riyaz Ahmed

👤 Jonah Wambua

(back to top)

🔭 Future Features

Search and Filtering: Implement advanced search and filtering options for users to easily find available cars based on criteria like location, date, type, etc.

Availability Calendar: Add a calendar view that displays item availability, making it easier for users to choose available dates for reservations.

Payment Integration: Integrate with a payment gateway to allow users to make payments for reservations directly through the API.

Mobile App Integration: Building a companion mobile app to provide users with a convenient way to manage reservations and browse cars.

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome. Contributions to improve and extend the API backend are also welcome. If you find bugs, have suggestions for improvements, or want to add new features, please feel free to add an issue on the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project.

(back to top)

🙏 Acknowledgments

  • Microverse for a A+ curriculum
  • Code reviewers, coding partners, morning and standup teams for the great insights
  • Hat tip to anyone else whose code was used

(back to top)

📝 License

This project is MIT licensed.

(back to top)