Skip to content

MetehanTosun/ToDo-App

Repository files navigation

ToDo Application

Task management web application enabling users to create, organize, and assign tasks to team members. Features full CRUD operations for task management with a user-friendly interface for tracking and organizing work assignments.

Features

  • Task Management: Create, read, update, and delete tasks
  • Assignee Management: Assign tasks to team members
  • Status Tracking: Monitor task progress with activity feed
  • Weekly Overview: Track tasks by due date
  • Export: Export tasks to CSV format
  • Validation: Input validation for data integrity
  • Notifications: Toast notifications for user feedback

Tech Stack

Frontend

  • Framework: Vue 3 with TypeScript
  • Build Tool: Vite
  • Routing: Vue Router
  • UI Components: Agnostic UI, FontAwesome Icons

Backend

  • Framework: Spring Boot 3.3.5
  • Language: Java 21
  • Database: MariaDB
  • API Documentation: Swagger UI / OpenAPI

DevOps

  • Containerization: Docker & Docker Compose
  • Development: Maven Wrapper, Hot Reload

Prerequisites

  • Java: JDK 21 or later
  • Node.js: Latest LTS version
  • Database: MariaDB (or use Docker Compose)
  • Maven: Included via Maven Wrapper
  • Docker (optional): For containerized deployment

Quick Start

Option A: Docker Compose (Recommended)

docker compose up

App runs at: http://localhost:8080/

Option B: Local Development

1. Database Setup

Start MariaDB locally or run only the database via Docker:

docker compose up database

2. Backend Setup

cd api
./mvnw spring-boot:run

Backend runs at: http://localhost:8080/

3. Frontend Setup

cd frontend
npm install
npm run dev

Frontend runs at: http://localhost:5173/

Troubleshooting

Docker build fails with npm errors (Docker Desktop on Linux)

Go to Docker Desktop → Settings → Docker Engine and add "dns": ["8.8.8.8", "1.1.1.1"], then Apply & Restart.

Development

Backend Development

cd api

# Run with live reload
./mvnw spring-boot:run

# Run tests
./mvnw test

# Generate test coverage report
./mvnw jacoco:report
# Report available at: target/site/jacoco/index.html

# Build without tests
./mvnw clean install -DskipTests

Frontend Development

cd frontend

# Development server with hot reload
npm run dev

# Type checking
npm run type-check

# Linting
npm run lint

# Format code
npm run format

# Build for production
npm run build

About

Web-based ToDo application for managing tasks and assignments. Users can create, update, and delete tasks while assigning them to different team members. Provides a streamlined interface for collaborative task organization.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors