Skip to content

A Django-powered maintenance tracking system for managing vehicle services, maintenance schedules, and service history with JWT authentication and RESTful APIs. πŸš—πŸ”§

License

Notifications You must be signed in to change notification settings

RitvikPatil/maintenance-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Vehicle Maintenance Tracker API

A comprehensive Django REST API for tracking vehicle maintenance schedules, service history and reminders with JWT authentication.

✨ Features

  • πŸ” JWT Authentication & Authorization
  • πŸ‘₯ User Management (Registration, Login, Profile)
  • πŸš— Vehicle Management
  • πŸ”§ Maintenance Tracking & Scheduling
  • πŸ”” Service Reminders
  • πŸ“ Service History & Records
  • πŸ“š RESTful API Endpoints
  • πŸ“– Interactive API Documentation

πŸ›  Tech Stack

  • Backend: Django 4.2 & Django REST Framework
  • Database: SQLite (Development) / PostgreSQL (Production-ready)
  • Authentication: JWT (Simple JWT)
  • API Documentation: DRF Spectacular (Swagger/OpenAPI)
  • Package Management: pip

πŸš€ Prerequisites

  • Python 3.8+
  • pip (Python package manager)
  • (Optional) PostgreSQL for production

βš™οΈ Setup & Installation

  1. Clone the repository

    git clone https://github.com/RitvikPatil/maintenance-tracker.git
    cd maintenance-tracker
  2. Create and activate virtual environment

    # Windows
    python -m venv venv
    .\venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Set up environment variables Create a .env file in the project root and add:

    SECRET_KEY=your-secret-key-here
    DEBUG=True
    
  5. Run migrations

    python manage.py migrate
  6. Create superuser (optional, for admin access)

    python manage.py createsuperuser
  7. Run the development server

    python manage.py runserver

πŸ“š API Documentation

Once the server is running, access the interactive API documentation at:

πŸ”§ Available Endpoints

  • /api/users/ - User management
  • /api/auth/ - Authentication (login, register, token refresh)
  • /api/vehicles/ - Vehicle CRUD operations
  • /api/maintenance/ - Maintenance records and scheduling

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ”— GitHub: github.com/RitvikPatil/maintenance-tracker πŸ“§ Contact: [Your Email] πŸ’‘ Issues: Please use GitHub issues for any bugs or feature requests source venv/bin/activate # On Windows: venv\Scripts\activate

3. Install dependencies:

pip install -r requirements.txt

4. Create a `.env` file in the project root with the following variables:

SECRET_KEY=your-secret-key DEBUG=True DB_NAME=maintenance_tracker DB_USER=your_db_user DB_PASSWORD=your_db_password DB_HOST=localhost DB_PORT=5432


## Running the Project

1. Run migrations:

python manage.py migrate

2. Create a superuser:

python manage.py createsuperuser

3. Run the development server:

python manage.py runserver


## API Documentation

Once the server is running, access the API documentation at:
- Swagger UI: http://localhost:8000/api/docs/
- ReDoc: http://localhost:8000/api/redoc/

## Testing

To run tests:

python manage.py test

About

A Django-powered maintenance tracking system for managing vehicle services, maintenance schedules, and service history with JWT authentication and RESTful APIs. πŸš—πŸ”§

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages