Skip to content

ArshTiwari2004/applystack-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ApplyStack Logo

ApplyStack

One stop job application tracking system!

ApplyStack is a full-stack job application tracking platform built to eliminate the chaos of managing job searches across spreadsheets, sticky notes, and browser tabs.

Features

Core Features

Auth (JWT) : Secure login, register, forgot/reset password via OTP email
Job Tracker : Track company, role, date, referral, shortlist, interview, offer
Company View : Group applications by company with card/table views
Task Manager : Daily tasks with priority, tags, date grouping (overdue/today/upcoming)
Templates : Save reusable cold messages and application content
PDF Export : Export all applications as a formatted PDF report
Smart Filters : Filter by status: applied, shortlisted, interviewing, offer, not selected
Reminders : Auto-reminder banner for applications not yet submitted
Company Logos : Auto-fetched company logos via domain-based favicon API with fallback support.

Infrastructure Features

Redis Caching : Jobs cached per-user (5 min TTL), company search cached (1 hr TTL)
RabbitMQ : Async email delivery and background task queue
Docker Compose : 4-service containerized setup (API, MongoDB, Redis, RabbitMQ)
Graceful Shutdown : SIGINT/SIGTERM handlers close all connections cleanly
Health Checks : /api/health endpoint verifying all 3 services

Installation

Prerequisites

  • Node.js 20+
  • Docker & Docker Compose
  • MongoDB (local or Atlas)

Option 1: Docker Compose (Recommended) Docker

git clone https://github.com/ArshTiwari2004/applystack-microservices.git 
cd applystack
 
# Set environment variables
cp backend/.env.example backend/.env
# Edit backend/.env with your values

# Build and start all services 
docker-compose up --build

# Run in background (optional)
docker-compose up -d --build

# Stop services
docker-compose down

# Reset everything (including data)
docker-compose down -v

| Service   | URL / Port |
|----------|-----------|
| Backend  | http://localhost:8001 |
| Health   | http://localhost:8001/api/health |
| MongoDB  | 27017 |
| Redis    | 6379 |
| RabbitMQ | http://localhost:15672 |

Services start at:

  • API: http://localhost:8001
  • RabbitMQ Management: http://localhost:15672
  • Services communicate using container names (e.g., mongo, redis, rabbitmq)
  • To verify everything is working, just go to: http://localhost:8001/api/health

Option 2: Manual Setup

# Backend
cd backend
npm install
cp .env.example .env
# Configure .env
node server.js
 
# Frontend
cd frontend
npm install
cp .env.example .env.local
# Set VITE_API_URL=http://localhost:8001
npm run dev

Environment Variables

Backend .env

PORT=8001
MONGO_URL=mongodb://localhost:27017
DB_NAME=applystack
JWT_SECRET=your-secure-secret-key
REDIS_URL=redis://localhost:6379
RABBITMQ_URL=amqp://localhost:5672
EMAIL_USER=your@gmail.com
EMAIL_PASS=your-app-password
CORS_ORIGINS=http://localhost:5173
NODE_ENV=development

Frontend .env.local

VITE_API_URL=http://localhost:8001

Live Demo

Frontend: https://applystack.vercel.app
Backend API: https://applystack.onrender.com

  • MongoDB is hosted on MongoDB Atlas.
  • Redis and RabbitMQ are optional in production
  • First API request may take ~30 seconds due to cold start (Render free tier)

Planned Features

  • AI-powered cover letter generator (via Claude API)
  • Interview preparation mode (per company)
  • Google Calendar integration for interview scheduling
  • Analytics dashboard (applications over time, funnel metrics)
  • Chrome extension for one-click job capture from LinkedIn
  • Email parsing to auto-import application confirmations
Live Demo

About

A scalable job application tracking platform built with microservices architecture using Node.js, React, MongoDB, Redis, and RabbitMQ, featuring async processing, caching, and Docker-based deployment

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages