Skip to content

OzanT1/ValetOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ValetOps

ValetOps is a RESTful backend system designed for businesses offering valet services. It supports robust management of tickets, cars, devices, parking locations, and payment histories, with distinct workflows for both business owners and valet staff. This backend powers an AI-enabled mobile application that streamlines valet operations through secure, efficient, and scalable APIs. Business owners interact with the system to manage employees (valets), view business statistics, and more, while valets use the system to manage cars and tickets, scan cars to extract features, and view available parking locations.

🚀 Features

  • 🔐 JWT-based authentication and authorization system
  • 👤 Two user roles: Business Owner & Valet
  • 🅿️ Parking location configuration per business
  • 📊 Business dashboards and visit/payment statistics
  • 📍 Google Maps-compatible location data (latitude, longitude)
  • 🔔 FCM token support for push notifications
  • 📈 Peak hour and daily visit analytics
  • 🚗 Car detection and feature extraction using custom local AI models (color, brand, plate recognition)
  • 🎫 Ticket and parking management
  • 🔋 Device and user management, like storing logs of device assignments or tracking valets' status for automatic ticket assignment
  • 📖 Paginated Queries
  • 🧩 Modular and extensible backend architecture

📦 Tech Stack

  • Language: Python
  • Backend Framework: FastAPI
  • Authentication: JWT
  • Database: SQLAlchemy + MySQL (or compatible)
  • Security: Password hashing with bcrypt (via Passlib)
  • request/response validation: Pydantic
  • Third Party Integrations: Firebase Cloud Messaging (FCM) for push notifications
  • AI/ML/Computer Vision: OpenCV, YOLO, CNN, PaddleOCR

⚙️ Setup

  1. Clone the repository:

    git clone https://github.com/OzanT1/ValetOps.git
    cd ValetOps
    
  2. Install dependencies (Or optionally create a virtual environment (venv) before this step):

    pip install -r requirements.txt
    
  3. Configuration:

Copy example config files and fill in your values:

cp app/Database/database_config.example.yaml app/Database/database_config.yaml
cp .env.example .env

Create a folder named config in the root directory and place your firebase-adminsdk.json file inside it.

▶️ Running the App:

python -m app.main

Full API docs available at: http://localhost:8000/docs OR http://127.0.0.1:8000/docs

📱 Mobile Integration

  • The server is designed to be used by a mobile app frontend.
  • Auth tokens are sent as Authorization: Bearer headers.
  • FCM tokens can be provided on login to enable push notifications.

🧠 Learning Highlights

This project showcases:

  • Backend Development Skills
  • REST API Design
  • Relational Database Design
  • Secure token-based authentication (JWT)
  • Role-based access control
  • Clean architecture and separation of concerns
  • SQLAlchemy ORM usage
  • FastAPI dependency injection and request handling
  • Third Party Service/SDK Integrations

🙋‍♂️ Contributions: Special thanks to my teammates: Erkan Fırat Ali Mert Gök Burak Keleş

Who trained the AI models and implemented AI functionalities (brand, color, plate detection etc.), and Barış Kıray for developing the mobile app (although this repository does not contain the mobile app).

About

A RESTful backend system built with FastAPI, featuring JWT-based authentication, role-based authorization, relational database support, Firebase integration, and more. Powers a mobile valet management app that includes AI-powered features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages