{"id":26482844,"url":"https://github.com/cltxvz/jobtracker","last_synced_at":"2026-04-10T02:37:26.658Z","repository":{"id":275690410,"uuid":"926825794","full_name":"cltxvz/jobTracker","owner":"cltxvz","description":"A job application tracker to organize, manage, and streamline your job search!","archived":false,"fork":false,"pushed_at":"2025-02-28T04:37:00.000Z","size":428,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T12:04:55.410Z","etag":null,"topics":["authentication","crud-api","express","fullstack","job-management","job-tracking","mongodb","nodejs","react","web-application"],"latest_commit_sha":null,"homepage":"https://jobtracker-frontend-32244539ef91.herokuapp.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cltxvz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-03T23:21:13.000Z","updated_at":"2025-02-28T04:38:07.000Z","dependencies_parsed_at":"2025-02-28T05:42:10.932Z","dependency_job_id":"7ab1c37a-cc5d-4d0a-82ba-63099843ade0","html_url":"https://github.com/cltxvz/jobTracker","commit_stats":null,"previous_names":["cltxvz/jobtracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cltxvz%2FjobTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cltxvz%2FjobTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cltxvz%2FjobTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cltxvz%2FjobTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cltxvz","download_url":"https://codeload.github.com/cltxvz/jobTracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554134,"owners_count":20471173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","crud-api","express","fullstack","job-management","job-tracking","mongodb","nodejs","react","web-application"],"created_at":"2025-03-20T04:49:54.837Z","updated_at":"2026-04-10T02:37:21.605Z","avatar_url":"https://github.com/cltxvz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **💼 JobTracker**  \n\n*\"Your all-in-one tool to search, track, and manage your job applications efficiently!\"*  \n\n---\n\n## **🚀 Description:**  \n\nJobTracker is a full-featured job search and tracking application designed to help job seekers stay organized and increase their efficiency during the job hunt. It eliminates the chaos of multiple job portals, lost application links, and missed deadlines by providing a centralized dashboard with the following features:\n\n- ✅ Search for jobs directly within the app using integrated APIs (Google Jobs \u0026 Adzuna).\n- ✅ Save job listings instantly from search results to your personal dashboard.\n- ✅ Add, edit, and delete job applications manually.\n- ✅ Track application progress (Applied, Interviewing, Offer, Rejected, etc.).\n- ✅ Use the built-in calendar to schedule deadlines, follow-ups, and interviews.\n- ✅ Sort and filter applications by company, date applied, and job status.\n\nWhether you're actively searching or tracking long-term applications, JobTracker makes the process organized, effortless, and stress-free!\n\n---\n\n## **🛠️ Technologies Used:**  \n\n### **Frontend (React \u0026 UI)**  \n- **React.js** – Component-based UI development.  \n- **React Router** – Client-side routing.  \n- **Bootstrap 5** – Responsive UI and styling.  \n- **Axios** – API calls to the backend.  \n- **React Hooks** – State and effect management.  \n\n### **Backend (Node.js \u0026 Express.js)**  \n- **Node.js** – Server-side runtime.  \n- **Express.js** – RESTful API for handling job applications and authentication.  \n- **MongoDB Atlas** – Cloud database for persistent storage.  \n- **Mongoose** – ODM (Object Data Modeling) for MongoDB. \n\n### **Job Search Integration**  \n- **SERPAPI (Google Jobs API)** – Fetch job listings from Google’s job search results.\n- **Adzuna API** – Additional job listings for a broader job search experience.  \n\n### **Authentication \u0026 Security**  \n- **JWT (JSON Web Tokens)** – Secure authentication.  \n- **BCrypt.js** – Password hashing.  \n- **Nodemailer** – Email service for password recovery.  \n\n### **Deployment \u0026 Hosting**  \n- **Heroku** – Backend and frontend hosting.  \n- **MongoDB Atlas** – Cloud database hosting.  \n- **Git \u0026 GitHub** – Version control and collaboration.  \n\n---\n\n## **📚 Skills \u0026 Concepts Applied:**  \n\n### **Full-Stack Development**  \n- **Frontend + Backend Integration** – Connecting a React-based frontend with an Express/MongoDB backend.  \n- **RESTful API Development** – CRUD operations (Create, Read, Update, Delete).  \n\n### **Software Engineering Best Practices**  \n- **Modular Code Structure** – Organized folder structure for scalability.  \n- **Middleware Implementation** – Authentication middleware for route protection. \n- **Environment Variables (`.env`)** – Securing API keys \u0026 database credentials.  \n\n### **Data Management \u0026 State Handling**  \n- **MongoDB Atlas** – Storing job application details.  \n- **React State (`useState`, `useEffect`)** – Managing dynamic UI updates.  \n- **Filtering \u0026 Sorting Algorithms** – Sorting jobs by date, company, and status.  \n\n### **Authentication \u0026 Authorization**  \n- **JWT Authentication** – Secure user login.  \n- **Password Hashing with Bcrypt** – Secure password storage.  \n- **User Session Management** – Local storage handling for authentication.  \n\n### **UI/UX \u0026 Performance Optimization**  \n- **Responsive UI with Bootstrap** – Mobile-friendly design.  \n- **Optimized API Calls with Axios** – Efficient data fetching and state updates.  \n- **Loading States \u0026 Error Handling** – Improved user experience with alerts and form validation.  \n\n---\n\n## **📖 Features \u0026 How to Use JobTracker:**  \n\n### **User Authentication:**  \n- **Signup/Login:** Create an account to start tracking job applications.  \n- **Forgot Password:** Reset credentials via email if needed.  \n\n### **Dashboard \u0026 Tracking:**  \n- **Add \u0026 Edit Jobs:** Manually add job applications or update existing ones.\n- **Status Updates:** Track application progress (Applied, Interviewing, Offer, etc.).\n- **Interactive Calendar:** Schedule deadlines and interview dates.\n\n### **Sorting \u0026 Filtering:**  \n- **Sort by Date Applied, Company, or Status.**  \n- **Filter by Status (Applied, Interviewing, Offer, etc.)**  \n- **Search Functionality** – Quickly find specific job entries.  \n\n### **Job Search \u0026 Save:**  \n- **Search for jobs** using the built-in job search powered by Google Jobs API \u0026 Adzuna API.\n- **Save job listings** with one click to track them on your dashboard.\n- **View job posts** directly on the employer’s website. \n\n### **Security \u0026 Data Handling:**  \n- **Secure Storage:** User credentials are encrypted.  \n- **Authenticated Routes:** Access control using JWT.  \n- **Backend Validation:** Prevents invalid or duplicate entries.  \n\n---\n\n## **📈 Ideas for Future Improvements:**  \n\n- **Task Reminders \u0026 Notifications** – Get notified about follow-ups, upcoming interviews, and deadlines.   \n- **Job Application Auto-Fill** – Extract application details automatically. \n- **Job Insights \u0026 Analytics** – Track application trends over time.\n- **Multi-User Collaboration** – Shared job tracking for teams or career coaches.  \n- **AI-Based Job Matching** – Get job recommendations based on your saved applications.\n\n---\n\n## **📜 How to Run the Project Locally:**  \n\n### **1. Clone the Repository:**  \n```bash\ngit clone https://github.com/cltxvz/jobTracker.git\n```\n### **2. Install Backend Dependencies:**  \n```bash\ncd jobTracker\nnpm install\n```\n### **3. Set Up Environment Variables:**  \nCreate a `.env` file in the root directory and add:  \n```env\nMONGO_URI=your-mongodb-atlas-connection-string\nJWT_SECRET=your-secret-key\nEMAIL_USER=your-email@gmail.com\nEMAIL_PASS=your-email-password\n```\n\n### **4. Start the Backend Server:**  \n```bash\nnpm start\n```\nor  \n```bash\nnode server.js\n```\n\n### **5. Install \u0026 Run the Frontend:**  \n```bash\ncd client\nnpm install\nnpm start\n```\nThen, visit:  \n```\nhttp://localhost:3000\n```\n\n---\n\n## **🌎 Live Demo (Hosted on Heroku)**  \n**JobTracker:** [https://jobtracker-frontend-32244539ef91.herokuapp.com](https://jobtracker-frontend-32244539ef91.herokuapp.com)  \n\n---\n\n## **👤 Author:**  \n**Carlos A. Cárdenas**  \n\n🚀 If you found this project useful, **star the repo** and feel free to contribute!  \n\n---\n\n### **✅ Final Notes:**  \nThis project demonstrates full-stack development, API integration, authentication, data management, and UI/UX best practices. It was built to enhance job search efficiency and help job seekers stay organized.\n\nThank you for checking out **JobTracker**! 🎯💼🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcltxvz%2Fjobtracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcltxvz%2Fjobtracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcltxvz%2Fjobtracker/lists"}