Skip to content

chamikathereal/job-application-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Career Growth Animation

The Ultimate Job Tracker

"A Full-Stack SaaS Architecture for the Modern Career Hunter."

Next.js Node.js Prisma SQLite Tailwind

Report Bug Request Feature


๐Ÿ”ฎ The Vision

This project represents the bridge between Frontend Beauty and Backend Logic. It is a fully functional SaaS (Software as a Service) prototype designed to solve a real-world problem: the chaos of job hunting.

Instead of a static UI, this application implements a Secure Full-Stack Architecture. It features a decoupled client-server model where a React frontend communicates with a robust Node.js API, proving complete mastery of the web development lifecycle.

๐Ÿ’Ž The "Wow" Factors

Feature Description
๐Ÿ” Iron-Clad Security Implements JWT (JSON Web Tokens) authentication and Bcrypt password hashing. Your data is locked behind a digital vault.
๐Ÿ‘ฅ Multi-User Isolation A true SaaS architecture. Multiple users can register and login, but the database strictly isolates dataโ€”User A never sees User B's jobs.
โšก Instant CRUD Create, Read, Update, and Delete operations happen instantly. The UI reflects backend changes in real-time without friction.
๐Ÿง  Smart Interceptors Powered by Axios Interceptors, the frontend automatically injects security tokens into every request, ensuring seamless and secure communication.

๐Ÿ› ๏ธ The Arsenal (Tech Stack)

Domain Tech Why?
Frontend Next.js App Router & Server Actions.
Backend Node.js Scalable REST API runtime.
Database Prisma Type-safe ORM & Modeling.
Styling Tailwind Rapid utility-first design.
Auth JWT Stateless session management.
Icons Lucide Clean, modern iconography.

๐Ÿ—๏ธ Project Architecture

A Monorepo structure separating the "Brain" (Server) from the "Face" (Client).

JOB-APPLICATION-TRACKER/
โ”œโ”€โ”€ ๐Ÿ“‚ client/                  # ๐ŸŽจ The Frontend (Next.js)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ src/app/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ login/           # Auth Pages
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ register/
โ”‚   โ”‚   โ””โ”€โ”€ page.tsx            # Protected Dashboard
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ components/          # ๐Ÿงฉ Reusable UI
โ”‚   โ”‚   โ”œโ”€โ”€ JobCard.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ JobForm.tsx
โ”‚   โ”‚   โ””โ”€โ”€ Navbar.tsx
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ lib/                 # ๐Ÿ”Œ API Connectors
โ”‚   โ”‚   โ””โ”€โ”€ axios.ts            # The "Security Guard" (Interceptors)
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ types/               # TypeScript Definitions
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ server/                  # ๐Ÿง  The Backend (Node.js)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ prisma/              # ๐Ÿ—„๏ธ Database Engine
โ”‚   โ”‚   โ”œโ”€โ”€ dev.db              # SQLite Database
โ”‚   โ”‚   โ””โ”€โ”€ schema.prisma       # Data Models (User + Job)
โ”‚   โ””โ”€โ”€ server.js               # API Routes & Auth Logic
โ”‚
โ””โ”€โ”€ .gitignore                  # Security Rules

๐Ÿง  Leveling Up: Learning Outcomes

Building this project demonstrated advanced Full-Stack competencies:

  • Authentication Flow: Implementing secure Login/Register systems from scratch using Bcrypt and JWT.
  • Relational Data Modeling: Using Prisma to link Users to their specific Job Applications (One-to-Many Relationships).
  • API Protection: Writing Express Middleware (authenticateToken) to reject unauthorized access to private routes.
  • State Management: Handling complex React state for editing, deleting, and updating UI lists dynamically.

๐Ÿš€ Getting Started

Since this is a Full-Stack app, you need to run the Backend and Frontend simultaneously.

1. Clone the Repository

git clone https://github.com/chamikathereal/job-application-tracker.git
cd job-application-tracker

2. Setup the Backend (The Brain)

Open a terminal and run:

cd server
npm install                 # Install dependencies
npx prisma migrate dev      # Create the Database
npx nodemon server.js       # Start the API

Server will run on http://localhost:5000

3. Setup the Frontend (The Face)

Open a new terminal tab and run:

cd client
npm install                 # Install dependencies
npm run dev                 # Start Next.js

App will run on http://localhost:3000

๐Ÿง‘โ€๐Ÿ’ป Author

Chamika Gayashan

Chamika Gayashan

Software Engineer | Sri Lanka

"Code is poetry, and I'm just trying to make it rhyme." ๐Ÿš€

LinkedIn GitHub Medium

Instagram Facebook


Last Updated: Sunday, January 18, 2026


Built with โค๏ธ and โ˜• by Chamika Gayashan. Star this repo if you found it useful! โญ

About

A full-stack Job Application Tracker built with Next.js, Node.js, Express, and PostgreSQL. Features secure JWT authentication, Prisma ORM, and a modern responsive UI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors