Skip to content

This is the initial public release of the Drivemate, a full-featured web application designed to help users prepare for the Korean driving license exam. It includes backend services with API endpoints, database integration, Docker-based deployment, and administration tools.

License

Notifications You must be signed in to change notification settings

serejekee/drivers_licence_free

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Full Stack Application – Driver's License Portal

FastAPI Uvicorn SQLAlchemy Alembic psycopg2-binary Pydantic Python-JOSE Passlib Bcrypt Multipart Pillow Pytest HTTPX Dotenv Email Validator


✨ Overview

A modern full-stack web application built with ❀️ for managing users, roles, questions, and authentication. Features a responsive React frontend and a powerful FastAPI backend.


πŸ” Features

  • βœ… Authentication & Authorization

    • JWT-based system
    • Roles: admin & user
    • Secure login/logout/register flow
  • πŸ‘€ User Dashboard

    • Edit profile
    • View orders, items, and history
  • πŸ› οΈ Admin Panel

    • Manage users and entities
    • View detailed dashboards

🧱 Tech Stack

Layer Tech Used
Frontend React + Vite, React Router, Redux Toolkit, TailwindCSS, Axios
Backend FastAPI, SQLAlchemy, Alembic, PostgreSQL, Pydantic, JWT
DevOps Docker, Docker-Compose, .env configs

πŸš€ Quickstart

1. πŸ“¦ Clone the Repository

git clone git@github.com:serejekee/drivers_licence_free.git
cd fullstack-app

2. 🐳 Start with Docker

Requires: Docker + Docker Compose installed

docker-compose up --build

3. βš™οΈ Initialize Database

# Apply migrations
docker-compose exec backend alembic upgrade head

# Create admin user
docker-compose exec backend python create_admin.py

4. 🌐 Access App

Part URL
Frontend http://localhost:5173
API Docs http://localhost:8000/docs
Admin Login http://localhost:5173/admin

Default Admin Credentials:

πŸ‘€ Username: admin
πŸ”‘ Password: admin

βš™οΈ Environment Variables

Create a .env file inside the backend/ folder:

DATABASE_URL=postgresql://postgres:postgres@db:5432/drive
JWT_SECRET_KEY=your-super-secret-jwt-key-change-this-in-production
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60
DEBUG=True

πŸ§ͺ Testing

Run tests for the backend:

cd backend
pytest

πŸ“Έ Screenshots

πŸ–ΌοΈ Click to expand
User Dashboard Admin Panel
user admin

πŸͺͺ License

MIT

πŸ“Έ How to Add Questions and Photos to Your Driving Test App

IMPORT


πŸ’‘ Tip

Use .env.example as a starting point for new environments or contributors.

πŸ“¬ Contacts

Telegram Badge Email Badge KakaoTalk

About

This is the initial public release of the Drivemate, a full-featured web application designed to help users prepare for the Korean driving license exam. It includes backend services with API endpoints, database integration, Docker-based deployment, and administration tools.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published