https://github.com/devdogukan/task-tracking-app
A Task Tracking App With Java Spring Boot and React JS
https://github.com/devdogukan/task-tracking-app
backend frontend java react reactjs spring-boot
Last synced: about 2 months ago
JSON representation
A Task Tracking App With Java Spring Boot and React JS
- Host: GitHub
- URL: https://github.com/devdogukan/task-tracking-app
- Owner: devdogukan
- Created: 2025-05-04T21:10:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-21T06:04:20.000Z (about 1 year ago)
- Last Synced: 2025-05-21T07:23:11.062Z (about 1 year ago)
- Topics: backend, frontend, java, react, reactjs, spring-boot
- Language: TypeScript
- Homepage:
- Size: 1.29 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tasks Application
A Spring Boot application for tracking tasks.
## Project Overview
This is a task tracking application built with Spring Boot for the backend and React with TypeScript for the frontend, enabling users to create, manage, and track tasks efficiently.

## Features
- Task creation and management
- Task assignment
- Task status tracking
- Task categorization
- Dark/Light mode toggle for the frontend
- Responsive UI for task and task list management
## Technology Stack
### Backend
- **Spring Boot**: Framework for creating stand-alone, production-grade Spring-based applications
- **Spring Data JPA**: Simplifies data access layer implementation
- **H2 Database**: Lightweight in-memory database for development
- **PostgreSQL**: Production database
- **Maven**: Dependency management and build tool
### Frontend
- **React**: JavaScript library for building user interfaces
- **TypeScript**: Typed superset of JavaScript
- **Vite**: Fast build tool for modern web projects
- **Tailwind CSS**: Utility-first CSS framework
- **React Router**: Declarative routing for React applications
## Domain Model
The application is built around the following entities:


The core components include:

## REST API Endpoints
The backend provides RESTful APIs for managing task lists and tasks. For detailed documentation, refer to the [Tasks Backend README](tasks/README.md).
## Frontend Features
- **Task List Management**:
- Display all task lists with their progress and task count.
- Create, update, and delete task lists.
- **Task Management**:
- Display tasks within a selected task list.
- Create, update, and delete tasks.
- Filter tasks by priority and status.
- **Dark/Light Mode**:
- Toggle between dark and light themes.
- **Error Handling**:
- Display error messages returned by the backend in a user-friendly way.
## Getting Started
### Prerequisites
- Java 21 or higher
- Maven 3.9+
- Node.js 18+ and npm 9+
### Running the Backend
1. Navigate to the `tasks` directory.
2. Start PostgreSQL using the provided `docker-compose.yml` file:
```bash
docker-compose up -d
```
3. Run the Spring Boot application:
```bash
./mvnw spring-boot:run
```
### Running the Frontend
1. Navigate to the `tasks-fe` directory.
2. Install dependencies:
```bash
bun install
```
3. Start the development server:
```bash
bun run dev
```
4. Open the application in your browser at `http://localhost:5173`.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.