Skip to content

PramithaMJ/mini-task-tracker

Repository files navigation

Deploy Backend to EC2

Mini Task Tracker

A Task Management application with a Spring Boot backend and React frontend.

Technology Stack

Area Technology
Frontend React 18, TypeScript, Vite, Tailwind CSS, Redux Toolkit, TanStack Query
Backend Java 21, Spring Boot 4.0.2, Spring Security (JWT + OAuth2)
Database PostgreSQL 16, Redis 7 (Cache)
DevOps Docker, Docker Compose, Flyway (Migrations), GitHub Action
Monitoring Prometheus, Grafana

How to Run

The easiest way to run the Database, Backend, and Frontend together is using Docker Compose.

1. Environment Configuration

Copy the example environment file to .env:

cp .env.example .env

Important: internal secrets (JWT, Google/GitHub Credentials) must be set in this .env file for the app to function correctly.

2. Start Services

Run the application stack:

docker-compose --env-file .env up -d

Local Development Setup

If you want to run the services individually for development:

1. Database & Cache

You still need PostgreSQL and Redis. Simplest way is via Docker:

docker-compose up postgres redis -d

2. Backend (Spring Boot)

  1. Use the root .env values or configuring src/main/resources/application.properties.
  2. Run with Maven:
cd todo-backend
./mvnw spring-boot:run

3. Frontend (React + Vite)

  1. Configure Environment:
    cd todo-frontend
    cp .env.example .env
  2. Edit .env to point to your local backend:
    VITE_API_BASE_URL=http://localhost:8080
  3. Run Dev Server:
    npm install
    npm run dev

Project Structure

mini-task-tracker/
├── .env                 # ROOT Environment Variables (Docker)
├── docker-compose.yml   # Orchestration for Full Stack
├── todo-backend/        # Spring Boot API
└── todo-frontend/       # React App (Strict FSD)

Releases

No releases published

Packages

 
 
 

Contributors