Skip to content

nikhisin3001/tickets

Repository files navigation

FastAPI Ticket Management System

A cloud-native ticketing platform for support and operations, built with FastAPI, PostgreSQL, Redis (ElastiCache), and AWS. Features JWT authentication, Slack notifications, and full CRUD for tickets.


Features

  • User registration and JWT authentication
  • Ticket CRUD (create, read, update, delete)
  • PostgreSQL for persistent storage
  • Redis/ElastiCache for caching
  • Slack notifications on ticket events
  • AWS ECS, RDS, and Terraform-based infrastructure

Project Structure

fastApiProject/
├── main.py                # FastAPI app entry point
├── requirements.txt       # Python dependencies
├── app/
│   ├── auth/              # Authentication logic
│   ├── daoLayer/          # Database models, mappers, and service objects
│   ├── v1/routers/        # API routers (e.g., tickets)
│   ├── apiSchemas.py      # Pydantic schemas
│   └── crud.py            # CRUD operations
└── ...

API Endpoints

Method Endpoint Description Auth Required
POST /register User registration No
POST /token User login (JWT) No
GET /tickets/ List all tickets Yes
POST /tickets/ Create a new ticket Yes
GET /tickets/{id} Get ticket by ID Yes
PUT /tickets/{id} Update ticket by ID Yes
DELETE /tickets/{id} Delete ticket by ID Yes
GET /redis-health Redis health check Yes
GET /health App health check No

Architecture Diagram

System Architecture

For detailed design and data flows, see the Design Document and docs/architecture.md.


Quickstart

git clone <your-repo-url>
cd tickets
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload

📚 Full Documentation

See the Project Documentation for:

  • Architecture & Data Flows
  • AWS/Terraform Infrastructure
  • Docker/ECS Deployment
  • Redis Caching & Testing
  • Secrets Management
  • Test Plan, FAQ, and more

Or browse the /docs folder in this repo.


License

MIT

For questions, see the FAQ or open an issue.

About

tickets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •