The Job Tracking System V1 is a full-stack project management and job tracking application that enables teams to efficiently manage projects, tasks, sprints, and workflows.
It combines a Next.js + TypeScript frontend with a Spring Boot + PostgreSQL backend to provide a modern, secure, and scalable system.


(Replace the placeholders above with screenshots of your application.)
- User registration and login.
- JWT-based secure authentication (via Spring Security).
- Role-based access control for projects and tasks.
- Create and manage projects.
- Invite team members to collaborate.
- Assign roles within projects.
- Create tasks within projects.
- Assign tasks to specific users.
- Add comments, descriptions, and updates to tasks.
- Track deadlines and priorities.
- Create and manage sprints for agile workflows.
- Add and remove tasks from sprints.
- Assign users to sprints.
- Review sprint progress and performance.
- Maintain a backlog of pending tasks.
- Move tasks between backlog and sprints.
- Reassign tasks between different sprints.
- Organize upcoming work with drag-and-drop style planning.
- Visualize tasks with a Kanban board interface.
- Track progress across statuses: To Do, In Progress, Done.
- Improve productivity with a clear overview of work.
- Receive notifications for task assignments, comments, and updates.
- Stay informed about sprint and project events.
This project follows a monorepo-style structure where both the frontend and backend live in the same repository:
Job-TS-v1-NextJs-SpringBoot/
│── backend/ # Spring Boot backend
│── frontend/ # Next.js frontend
│── README.md # Project documentation
- Frontend communicates with the backend REST APIs for authentication, project/task data, and notifications.
- Backend uses Spring Boot with JPA/Hibernate to interact with a PostgreSQL database.
- Authentication is implemented with JWT and integrated into both frontend and backend flows.
- Next.js 14 – React framework with SSR & SSG support.
- TypeScript – Type safety and maintainability.
- NextAuth.js – Authentication for Next.js.
- Material UI – UI component library.
- Tailwind CSS – Utility-first styling.
- Spring Boot 3 – Backend framework.
- Spring Security – Authentication and authorization.
- Java 17 – Language runtime.
- PostgreSQL – Relational database.
- Hibernate ORM & JPA – Database mapping.
- Spring MVC & Spring Data – REST APIs and data persistence.
- JWT – JSON Web Token authentication.
- Install and run PostgreSQL locally.
- Create a database (e.g.,
jobts).
- Create a database (e.g.,
- Configure the database in
application.yml:
server:
port: 8080
## -Dspring.profiles.active=local
spring:
servlet:
multipart:
enabled: true
max-file-size: 50MB
max-request-size: 100MB
application:
name: swap.be
datasource:
url: jdbc:postgresql://localhost:5432/jobts
username: postgres
password: postgres
jpa:
hibernate:
ddl-auto: update
dialect: org.hibernate.dialect.PostgreSQLDialect
show-sql: false
jwt:
secret: "QWx3YXlzLXNlY3VyZS1hbmQtc3Ryb25nLWtleS1mb3Itam90LTUxMi1zZWN1cml0eS0xMjM0NTY3ODkwMTIzNDU2Nzg5"
expiredDay: 86400000
expiredTime:
hour: 1- Navigate to the backend directory and start the Spring Boot application:
./mvnw spring-boot:run # or ./gradlew bootRun
The backend will run at: http://localhost:8080
- Navigate to the frontend folder:
cd frontend - Install dependencies:
npm install # or yarn install # or pnpm install
- Create an
.env.localfile for environment variables (example):NEXT_PUBLIC_API_URL=http://localhost:8080 NEXTAUTH_SECRET=your_secret
- Start the development server:
npm run dev # or yarn dev # or pnpm dev
The frontend will run at: http://localhost:3000
- Start both backend and frontend applications.
- Open
http://localhost:3000in your browser. - Register a new user or log in with existing credentials.
- Create a project, invite team members, and begin assigning tasks.
- Organize work using sprints, backlog, and the Kanban board.
Contributions are welcome!
To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/new-feature
- Commit your changes and push to your fork.
- Submit a pull request with a clear description.
Please follow standard coding practices and ensure all new code is tested before submitting.
This project is licensed under the MIT License.
See the LICENSE file for details.
(Add screenshots, demo GIFs, or even a link to a deployed version here to showcase the system in action.)