https://github.com/adarsh0311/task-management-application
A Spring Boot-based backend for a Task Management application, featuring task creation, file attachments, and filtering using PostgreSQL. Tech Stack: Java, Spring Boot, PostgreSQL, Spring Data JPA
https://github.com/adarsh0311/task-management-application
backend java postgresql restful-api spring-boot spring-data-jpa spring-specifications task-management
Last synced: about 2 months ago
JSON representation
A Spring Boot-based backend for a Task Management application, featuring task creation, file attachments, and filtering using PostgreSQL. Tech Stack: Java, Spring Boot, PostgreSQL, Spring Data JPA
- Host: GitHub
- URL: https://github.com/adarsh0311/task-management-application
- Owner: Adarsh0311
- Created: 2024-11-06T08:16:35.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-11-09T03:11:34.000Z (7 months ago)
- Last Synced: 2025-03-29T14:41:20.897Z (2 months ago)
- Topics: backend, java, postgresql, restful-api, spring-boot, spring-data-jpa, spring-specifications, task-management
- Language: Java
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task Management Application (Backend)
This repository contains the backend code for a Task Management application, built with Spring Boot and PostgreSQL. The application supports managing tasks with file attachments, filtering tasks based on specific criteria, and other CRUD operations.
## Features
- **Task Management**: Create, read, update, and delete tasks.
- **File Attachments**: Upload and associate files with tasks.
- **Filtering**: Use multiple filters, such as task status and priority, using Spring Data JPA Specifications.
- **PostgreSQL Database**: Utilizes PostgreSQL for data persistence.## Tech Stack
- **Java**: The application is developed using Java.
- **Spring Boot**: For building REST APIs and managing dependencies.
- **Spring Data JPA**: For database interactions.
- **PostgreSQL**: As the relational database management system.
- **Spring Specifications**: For implementing flexible and dynamic filtering.## Project Structure
- **Entities**:
- `Task`: Represents a task with basic attributes like title, description, status, and priority.
- `TaskFile`: Represents files associated with tasks.
- **Controllers**: REST endpoints to interact with tasks and their associated files.
- **Services**: Business logic for handling task and file operations.
- **Repositories**: Data access layer using Spring Data JPA.
- **Specifications**: Filtering functionality for tasks.
- **exception**: for handling custom exception with http responses.## Getting Started
### Prerequisites
- Java 17 or higher
- PostgreSQL
- Maven### Setup Instructions
1. **Clone the repository**:
```bash
git clone
cd task-management-application2. **Configure Database**: Update application.properties with your PostgreSQL database credentials.
### Future Enhancements
- Integration with the frontend part of the application.
- Additional filtering options.
- User authentication and authorization### Contributing
Feel free to submit issues and pull requests. Contributions are welcome!