Skip to content

Chafid/job-tracker-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧾 Job Tracker API

A simple yet powerful RESTful API built with Node.js and Express.js to help users track job applications. Designed for clean code, maintainability, and real-world use.

Node.js Express MongoDB JWT License


✨ Features

  • 🔐 Authentication – User registration & login with JWT
  • 📋 CRUD Operations – Create, read, update, delete job entries
  • 📊 Job Status Tracking – Track pending, interview, and declined applications
  • 🧼 Clean Architecture – Modular structure with middleware, controllers, and route separation
  • 🛡️ Protected Routes – Secure job data with authentication middleware
  • 🧪 Validation & Error Handling – Ensures input safety and provides helpful responses

🚀 Tech Stack

  • Backend: Node.js, Express.js
  • Database: MongoDB (via Mongoose)
  • Authentication: JWT, bcrypt
  • Validation: express-validator
  • Utilities: dotenv, morgan, helmet, cors
  • Dev Tools: Nodemon, ESLint, Prettier

🛠️ Getting Started

1. Clone the Repository

git clone https://github.com/Chafid/job-tracker-api.git
cd job-tracker-api

2. Install Dependencies

npm install

3. Environment Variables

Create a .env file in the root directory based on .env.example:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_key

4. Run the Development Server

npm run dev

Server will start on http://localhost:5000


📬 API Reference

🔐 Auth Routes

Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login Login existing user

💼 Job Routes (Protected)

Method Endpoint Description
GET /api/applications Get all user jobs
POST /api/applications Create a new job entry

⚠️ All /jobs routes require a valid JWT token in the Authorization header as Bearer <token>.


📁 Project Structure

job-tracker-api/
├── controllers/        # Request handlers
├── middleware/         # Auth & error handlers
├── models/             # Mongoose models
├── routes/             # API route definitions
├── utils/              # Utility functions
├── config/             # DB config & setup
├── .env.example        # Sample env vars
├── server.js           # Entry point
└── package.json

🧪 Sample .env File

PORT=5000
MONGO_URI=mongodb://localhost:27017/jobtracker
JWT_SECRET=yourSecretKey

🧭 Roadmap

  • Swagger API Documentation
  • Pagination & Search Filters
  • Rate Limiting & Security Enhancements
  • CI/CD Integration
  • Deploy to Render / Railway / Vercel backend

🧑‍💻 About Me

Made by Chafid
📫 Reach out on LinkedIn
🌍 Based in Indonesia – Open to remote backend opportunities!


⭐️ Support the Project

If this project helped you, consider giving it a ⭐️ on GitHub and sharing it with others!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published