minhaz1010 / Bike-Rental-Service

Bike rental service backend

Home Page:https://bike-rental-service-node.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bike Rental Service API

Welcome to the Bike Rental Service API. This backend service allows users to rent bikes, manage their profiles, and view available bikes. Admins can manage bike inventory and handle user rentals.

Live Link

Bike-Rental-Service

ER-Diagram

ER-Diagram

Requirement-Analysis

Requirement-analysis

Table of Contents

Features

  • User Authentication:

    • User Signup
    • User Login
    • Admin Signup
    • Admin Login
  • Profile Management:

    • View Profile
    • Update Profile
  • Bike Management:

    • View Available Bikes
    • Create, Update, Delete Bikes (Admin Only)
  • Rental Management:

    • Rent a Bike
    • View Rental History
    • Return a Bike (Admin Only)

Stack

  • Programming Language: Typescript
  • Web Framework: Express js
  • Database And ODM: mongodb and mongoose

Installation

  1. Clone the repository:
    git clone https://github.com/minhaz1010/Bike-Rental-Service.git
    cd Bike-Rental-Service
  2. npm install

Commands

  • To run
    npm run start:dev
    
    

File structure

├── src
│   ├── app
│   │   ├── config
│   │   │   └── index.ts
│   │   ├── errors
│   │   │   ├── appError.ts
│   │   │   ├── handleCastError.ts
│   │   │   ├── handleDuplicateError.ts
│   │   │   ├── handleZodError.ts
│   │   │   ├── jwtError.ts
│   │   │   └── mongooseValidationError.ts
│   │   ├── middleware
│   │   │   ├── authMiddleware.ts
│   │   │   ├── globalErrorHandler.ts
│   │   │   ├── notFound.ts
│   │   │   └── validateRequest.ts
│   │   ├── module
│   │   │   ├── auth
│   │   │   │   ├── auth.controller.ts
│   │   │   │   ├── auth.interface.ts
│   │   │   │   ├── auth.route.ts
│   │   │   │   ├── auth.service.ts
│   │   │   │   └── auth.validation.ts
│   │   │   ├── bike
│   │   │   │   ├── bike.controller.ts
│   │   │   │   ├── bike.interface.ts
│   │   │   │   ├── bike.model.ts
│   │   │   │   ├── bike.route.ts
│   │   │   │   ├── bike.service.ts
│   │   │   │   └── bike.validation.ts
│   │   │   ├── booking
│   │   │   │   ├── booking.controller.ts
│   │   │   │   ├── booking.interface.ts
│   │   │   │   ├── booking.model.ts
│   │   │   │   ├── booking.route.ts
│   │   │   │   ├── booking.service.ts
│   │   │   │   └── booking.validation.ts
│   │   │   └── user
│   │   │       ├── user.controller.ts
│   │   │       ├── user.interface.ts
│   │   │       ├── user.model.ts
│   │   │       ├── user.route.ts
│   │   │       ├── user.service.ts
│   │   │       └── user.validation.ts
│   │   ├── route
│   │   │   └── index.ts
│   │   └── utils
│   │       ├── catchAsyncError.ts
│   │       ├── comparePassword.ts
│   │       ├── index.d.ts
│   │       ├── sendResponse.ts
│   │       └── userRole.ts
│   ├── app.ts
│   └── server.ts
├── ER.png
├── eslint.config.mjs
├── package.json
├── package-lock.json
├── readme.md
├── tsconfig.json
└── vercel.json

 


About

Bike rental service backend

https://bike-rental-service-node.vercel.app/


Languages

Language:TypeScript 98.6%Language:JavaScript 1.4%