Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Anugaman

A job application tracking backend system built with Django REST Framework, MongoDB.

Anugaman helps users manage and track their job applications using a modern Kanban-style workflow.


Features

  • JWT Authentication
  • User Registration & Login
  • Protected API Routes
  • Auto Board Initialization
  • Kanban Board System
  • Job Application Management
  • Redis Caching
  • REST API Backend
  • Dockerized Backend
  • CI/CD with GitHub Actions
  • Scalable Project Architecture

Tech Stack

Backend

  • Django
  • Django REST Framework
  • MongoDB
  • Redis
  • JWT Authentication
  • Docker
  • GitHub Actions

Project Structure

Anugaman/
│
├── backend/
│   ├── apps/
│   ├── config/
│   ├── requirements.txt
│   └── manage.py
│
|
│
├── docker-compose.yml
│
└── README.md

Backend Setup

1. Clone Repository

git clone https://github.com/Upendra48/Anugaman.git

cd Anugaman

2. Start Docker Containers

docker compose up --build

3. Backend Runs At

https://anugaman.onrender.com/api/auth/login/

Authentication

Authentication uses JWT Tokens.

After login:

  • Access Token is returned
  • Use token in protected routes

Example:

Authorization: Bearer YOUR_ACCESS_TOKEN

API Endpoints

Authentication APIs

Register User

POST /api/v1/auth/register/

Login User

POST /api/v1/auth/login/

Get Current User

GET /api/v1/auth/me/

Protected Route


Board APIs

Get User Boards

GET /api/v1/boards/

Protected Route


Get Board Columns

GET /api/v1/boards/{board_id}/columns/

Protected Route


Job APIs

Create Job Application

POST /api/v1/jobs/

Protected Route


Get Jobs (Paginated)

GET /api/v1/jobs/

Protected Route


Update Job

PATCH /api/v1/jobs/{job_id}/

Protected Route


Delete Job

DELETE /api/v1/jobs/{job_id}/

Protected Route


Redis Cache

Redis is used for caching frequently accessed data to improve API performance.

Cached Features

  • Job Listings
  • Board Data
  • Faster API Responses

Benefits

  • Reduced database load
  • Faster response time
  • Better scalability

API Testing

API testing is done using Postman.


Docker

The backend is fully dockerized.

Services

  • Django Backend
  • MongoDB
  • Redis

Run:

docker compose up

CI/CD

GitHub Actions automatically:

  • Installs dependencies
  • Runs backend checks
  • Validates pull requests

Branching Strategy

main
develop
feature/*

Workflow

  1. Create feature branch
  2. Push changes
  3. Open Pull Request
  4. Merge into develop
  5. Merge develop → main

Future Improvements

  • Analytics Dashboard
  • Drag & Drop Kanban
  • Notifications
  • Resume Uploads
  • AI Resume Analysis
  • Job Search Integration

Author

Upendra Raj Joshi

GitHub: https://github.com/Upendra48

About

A full-stack job application tracking system built in Django

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages