Skip to content

celalaygar/Job-TS-v1-NextJs-SpringBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Job Tracking System V1

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.

Project Screenshot 1
Project Screenshot 2
(Replace the placeholders above with screenshots of your application.)


✨ Features

🔐 User Management

  • User registration and login.
  • JWT-based secure authentication (via Spring Security).
  • Role-based access control for projects and tasks.

📂 Project Management

  • Create and manage projects.
  • Invite team members to collaborate.
  • Assign roles within projects.

✅ Task Management

  • Create tasks within projects.
  • Assign tasks to specific users.
  • Add comments, descriptions, and updates to tasks.
  • Track deadlines and priorities.

🏃 Sprint Management

  • Create and manage sprints for agile workflows.
  • Add and remove tasks from sprints.
  • Assign users to sprints.
  • Review sprint progress and performance.

📋 Backlog Management

  • 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.

🗂️ Kanban Board

  • Visualize tasks with a Kanban board interface.
  • Track progress across statuses: To Do, In Progress, Done.
  • Improve productivity with a clear overview of work.

🔔 Notification Management

  • Receive notifications for task assignments, comments, and updates.
  • Stay informed about sprint and project events.

🏗️ Architecture

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.

🛠️ Technologies

🌐 Frontend

⚙️ Backend


⚙️ Setup Instructions

🔧 Backend Setup

  1. Install and run PostgreSQL locally.
    • Create a database (e.g., jobts).
  2. 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
  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


🎨 Frontend Setup

  1. Navigate to the frontend folder:
    cd frontend
  2. Install dependencies:
    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Create an .env.local file for environment variables (example):
    NEXT_PUBLIC_API_URL=http://localhost:8080
    NEXTAUTH_SECRET=your_secret
  4. Start the development server:
    npm run dev
    # or
    yarn dev
    # or
    pnpm dev

The frontend will run at: http://localhost:3000


🚀 Usage

  1. Start both backend and frontend applications.
  2. Open http://localhost:3000 in your browser.
  3. Register a new user or log in with existing credentials.
  4. Create a project, invite team members, and begin assigning tasks.
  5. Organize work using sprints, backlog, and the Kanban board.

🤝 Contributing

Contributions are welcome!
To contribute:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/new-feature
  3. Commit your changes and push to your fork.
  4. Submit a pull request with a clear description.

Please follow standard coding practices and ensure all new code is tested before submitting.


📜 License

This project is licensed under the MIT License.
See the LICENSE file for details.


📷 Screenshots & Demo

(Add screenshots, demo GIFs, or even a link to a deployed version here to showcase the system in action.)

About

Job tracking System v1 is built by using Spring boot 3, Spring Security, Next js, Next Auth

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages