A professional, full-stack job application tracking system built with modern web technologies
Live Demo β’ Report Bug β’ Request Feature
- Overview
- Key Features
- Tech Stack
- Demo
- Screenshots
- Getting Started
- Architecture
- API Documentation
- Deployment
- Contributing
- License
- Contact
Job Tracker Pro is a production-ready, full-stack application designed to streamline the job search process. Built with vanilla JavaScript and a RESTful API architecture, this project demonstrates modern web development best practices, clean code principles, and enterprise-level software engineering.
- π¨ Production-Grade UI/UX - Minimal, professional design suitable for corporate environments
- ποΈ Scalable Architecture - Clean separation of concerns, easy to extend and maintain
- π Real-World Application - Solves an actual problem job seekers face
- π Performance Optimized - Fast load times, smooth interactions, efficient data handling
- π± Fully Responsive - Works seamlessly across all devices
- β CRUD Operations - Create, read, update, and delete job applications
- π Advanced Search - Real-time search across all application fields
- π― Smart Filtering - Filter by status, sort by date or company
- π Dashboard Analytics - Visual statistics and metrics at a glance
- π Data Export - Export applications to JSON for backup or migration
- π Auto-sync - Real-time data persistence with MongoDB
- π¨ Modern UI - Clean, minimal design with smooth animations
- π RESTful API - Well-structured backend with Express.js
- πΎ Database Integration - MongoDB for scalable data storage
- π Data Validation - Server-side and client-side validation
- π± Responsive Design - Mobile-first approach, works on all screen sizes
- βΏ Accessibility - WCAG 2.1 compliant, keyboard navigable
- π Performance - Optimized loading, efficient rendering
- π Error Handling - Comprehensive error management
- Vanilla JavaScript (ES6+) - No frameworks, demonstrating core JS proficiency
- CSS3 - Custom properties, Flexbox, Grid, animations
- HTML5 - Semantic markup, accessibility features
- LocalStorage API - Client-side data persistence with server sync
- Node.js - JavaScript runtime
- Express.js - Web application framework
- MongoDB - NoSQL database
- Mongoose - ODM for MongoDB
π View Live Demo
- Node.js (v14 or higher)
- MongoDB (local or Atlas)
- Git
-
Clone the repository
git clone https://github.com/your-username/job-tracker-pro.git cd job-tracker-pro -
Install dependencies
cd backend npm install -
Configure environment variables
cp .env.example .env # Edit .env with your MongoDB URI -
Start MongoDB (if running locally)
mongod
-
Start the backend server
npm run dev
-
Open the frontend
- Option 1: Open
index.htmlin your browser - Option 2: Use Live Server in VS Code
- Option 3: Run a local server:
npx serve
- Option 1: Open
-
Enable API mode
- Open
js/storage.js - Uncomment
storage.enableAPI();
- Open
job-tracker-pro/
βββ index.html # Main HTML file
βββ css/
β βββ styles.css # All styling
βββ js/
β βββ storage.js # Data persistence layer
β βββ app.js # Application logic
βββ backend/
β βββ config/
β β βββ database.js # MongoDB connection
β βββ controllers/
β β βββ applicationController.js
β βββ models/
β β βββ Application.js # Mongoose schema
β βββ routes/
β β βββ applicationRoutes.js
β βββ middleware/
β β βββ errorHandler.js
β βββ .env.example
β βββ package.json
β βββ server.js # Entry point
βββ screenshots/
βββ README.md
βββ LICENSE
βββββββββββββββ
β Browser β
β (UI) β
ββββββββ¬βββββββ
β
βΌ
βββββββββββββββββββ
β Storage.js β ββββ LocalStorage (fallback)
β (Data Layer) β
ββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββ
β Express API β
β (REST Routes) β
ββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββ
β MongoDB β
β (Database) β
βββββββββββββββββββ
http://localhost:5000/api
GET /applicationsQuery Parameters:
status(optional) - Filter by statussearch(optional) - Search termsortBy(optional) - Sort criteria
Response:
{
"success": true,
"count": 10,
"data": [...]
}GET /applications/:idPOST /applications
Content-Type: application/json
{
"company": "Google",
"position": "Software Engineer",
"location": "Mountain View, CA",
"status": "applied",
"appliedDate": "2024-02-14"
}PUT /applications/:idDELETE /applications/:idGET /applications/statsFull API documentation: API Docs
- Enable GitHub Pages in repository settings
- Select
mainbranch - Your app will be live at:
https://your-username.github.io/job-tracker-pro
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway up- Connect your GitHub repository
- Select "Web Service."
- Set build command:
cd backend && npm install. - Set start command:
cd backend && npm start. - Add environment variables
Detailed deployment guide: DEPLOYMENT.md
- β‘ Lighthouse Score: 95+
- π First Contentful Paint: < 1.5s
- π¦ Bundle Size: ~50KB (no build step needed)
- βΏ Accessibility: WCAG 2.1 AA compliant
# Run tests (when implemented)
npm test
# Run linter
npm run lint- User authentication (JWT)
- Email notifications
- Calendar integration
- File uploads (resume, cover letter)
- Interview preparation notes
- Company research integration
- Browser extension
- Mobile app (React Native)
- AI-powered resume matching
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- Portfolio: (https://myportfolio-kappa-livid-43.vercel.app/)
- LinkedIn: (https://www.linkedin.com/in/aarogya-bikram-thapa-ab63b6371)
- GitHub: (https://github.com/aar0gya)
- Email: arogyathapa.10@gmail.com
- Font Awesome for icons
- Google Fonts for Inter typeface
- MongoDB for a database platform
- The open-source community




