https://github.com/tsembp/job-application-tracker
A full-stack web app for managing job applications. Features CRUD operations, advanced filtering, CSV export, and analytics for tracking trends.
https://github.com/tsembp/job-application-tracker
css3 full-stack html5 java javascript mysql postman spring-boot
Last synced: 2 months ago
JSON representation
A full-stack web app for managing job applications. Features CRUD operations, advanced filtering, CSV export, and analytics for tracking trends.
- Host: GitHub
- URL: https://github.com/tsembp/job-application-tracker
- Owner: tsembp
- Created: 2025-01-13T07:46:39.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-15T16:39:03.000Z (over 1 year ago)
- Last Synced: 2025-08-01T01:39:46.017Z (11 months ago)
- Topics: css3, full-stack, html5, java, javascript, mysql, postman, spring-boot
- Language: Java
- Homepage:
- Size: 513 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 💼 Job Application Tracker
This is a full stack web application for tracking job applications with basic CRUD operations and filtering capabilities.
## 💻 Tech Stack
### Back-end
- **Java (Spring Boot)** – Used for building the RESTful API and handling business logic.
- **MySQL** – Relational database for persisting job application records.
- **JPA (Java Persistence API)** – Used for ORM (Object-Relational Mapping) to interact with the database through the `JpaRepository` interface for simplified CRUD operations.
- **Maven** – Dependency management and project build automation.
### Front-end
- **HTML5** - For web app structure, including forms and tables for job applications.
- **CSS3** - For styling the web interface.
- **JavaScript (Vanilla JS)** - Used to handle dynamic interactions on client side.
### Tools & Utilities
- **Postman** – For testing and verifying API endpoints during development.
- **Chart.js** - For data visualization.
## ✨ Features
- **Create, Read, Update, Delete (CRUD)** job applications.
- Filter job applications by:
- Searching by keyword
- Status
- Location
- Job Type (Onsite, Remote, Hybrid)
- Uses MySQL as the database to store job applications.
- Export in CSV format.
## 👀 Preview
### Application Dashboard Preview

### Live Demo Video
[Watch on YouTube](https://www.youtube.com/watch?v=RFmE6xdIeuE&ab_channel=PanagiotisTsembekis)
## 🛢 Database Schema
The `job_application` table includes:
- `id` (Primary Key, Auto Increment)
- `company` (String)
- `position` (String)
- `status` (ENUM)
- `application_date` (LocalDate)
- `notes` (String)
- `jobType` (ENUM: ONSITE, REMOTE, HYBRID)
- `location` (String)
## ⚙️ Setup
1. Clone the repository.
2. Configure your `application.properties` to connect to your MySQL database.
3. Run the application using:
```bash
mvn spring-boot:run
```