
JobMetrix
A comprehensive MERN stack job tracking platform with user authentication, data visualization, and full CRUD functionality.
Timeline
3 months
Role
Full Stack Developer
Team
Solo
Status
CompletedTechnology Stack
Key Challenges
- JWT Authentication Flow
- Full Stack Integration
- Database Schema Design
- Pagination Implementation
- Protected Routes
Key Learnings
- MERN Stack Architecture
- JWT Security
- Axios Configuration
- MongoDB Atlas Setup
- React Router 6.4+
- Express Error Handling
Overview
JobMetrix is a comprehensive MERN stack application designed to provide a full-fledged job tracking platform with a dynamic front-end, robust back-end, and seamless integration between them. It covers a wide range of features, from user authentication to data visualization, making it a perfect example of a modern web application.
Key Features
Front-End Development
- Built from scratch with VITE for a dynamic React front-end application
- Global styles and user-friendly pages including Landing, Error, Register, and Dashboard
- Stunning visuals with professional layouts and images
Routing & Navigation
- React Router 6.4+ for seamless page transitions
- Nested pages and protected routes
- Programmatic navigation for enhanced UX
Backend Development
- Server application built from the ground up with ES6 modules
- Nodemon for efficient development workflow
- Express with robust error handling using express-async-errors
Database Management
- MongoDB cloud database with Atlas
- Crafted routes and controllers for robust data handling
- Complete CRUD functionality with proper permissions
Security & Authentication
- Password hashing for secure storage
- JWT for authentication and authorization
- Protected routes and logout features
Full Stack Integration
- Seamless front-end to server connection
- Concurrently package for running both servers
- VITE proxy setup for API calls
Data Visualization & UI
- Informative charts and statistics cards
- Search and filter functionality
- Pagination for efficient data browsing
Tech Stack
- Frontend: React, VITE, React Router 6.4+, Axios, Chart.js
- Backend: Node.js, Express.js, express-async-errors
- Database: MongoDB Atlas
- Authentication: JWT, bcrypt
- Testing: Thunder Client
- Deployment: Render
Core Endpoints
Authentication
POST /api/v1/auth/register - Register new user
POST /api/v1/auth/login - User login
GET /api/v1/auth/logout - User logoutJobs
GET /api/v1/jobs - Get all jobs (with pagination & filters)
POST /api/v1/jobs - Create new job
GET /api/v1/jobs/:id - Get single job
PATCH /api/v1/jobs/:id - Update job
DELETE /api/v1/jobs/:id - Delete jobUser
GET /api/v1/users/current-user - Get current user
PATCH /api/v1/users/update-user - Update user profile
GET /api/v1/users/stats - Get job statisticsAdditional Features
- 🗂 Modular Code Structure: Clean and organized codebase
- 📈 Performance Optimization: Best practices for efficient data handling
- 🧩 Custom Hooks & Context API: Enhanced state management
- 🔄 Real-time Updates: WebSocket integration for notifications
- 🧩 Third-Party Integrations: Extended functionality with external APIs
Deployment
The application is deployed on Render for real-world use, demonstrating production-ready deployment practices.
