Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job Tracker API

Production-style FastAPI backend application for tracking job applications, companies, statuses, and analytics.

Features

  • User registration
  • JWT authentication
  • Protected routes
  • Company CRUD operations
  • Job application CRUD operations
  • Job status tracking
  • Search jobs by title
  • Filter jobs by company
  • Filter jobs by status
  • Dashboard analytics
  • PostgreSQL database
  • Alembic migrations
  • Docker support

Tech Stack

  • Python
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • Docker
  • JWT Authentication
  • Passlib
  • Pydantic

Run Locally

Clone repository

git clone https://github.com/Diablo7749/job_tracker_api.git
cd job_tracker_api

Create .env

SECRET_KEY=your_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
DATABASE_URL=postgresql://postgres:postgres@localhost:5433/job_tracker_db

Run migrations

alembic upgrade head

Run with Docker

docker compose up --build

Run manually

uvicorn src.main:app --reload

API Documentation

Swagger:

http://127.0.0.1:8000/docs

API Endpoints

Users

  • POST /users/register
  • POST /users/login

Companies

  • POST /companies/
  • GET /companies/
  • GET /companies/{company_id}
  • PATCH /companies/{company_id}
  • DELETE /companies/{company_id}

Jobs

  • POST /jobs/
  • GET /jobs/
  • GET /jobs/{job_id}
  • PATCH /jobs/{job_id}
  • DELETE /jobs/{job_id}

Filters:

  • status
  • company_id
  • search

Dashboard

  • GET /dashboard/stats

Portfolio Project

This project demonstrates backend engineering concepts including authentication, relational database design, API architecture, business logic implementation, containerization, and migration management.

About

Production-style FastAPI Job Tracker API with JWT authentication, PostgreSQL, Alembic, Docker, filtering, and analytics

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages