Skip to content

Brahim-KACEM/ToDoApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 

Repository files navigation

βœ… ToDoApp

A full-stack ToDo application built with Spring Boot, React, and H2 Database.
Supports user registration, login, task management, filtering, and due dates β€” all in a responsive, styled UI.


πŸš€ Features

  • πŸ” User Authentication – Register and log in with email and password
  • βœ… CRUD Tasks – Create, update, delete, and mark tasks as completed
  • πŸ“† Due Dates – Assign and display due dates for each task
  • πŸ”Ž Filter Tasks – View all, completed, or pending tasks
  • πŸ’Ύ H2 Database – Fast in-memory data storage with optional console
  • πŸ’… Responsive UI – Clean, centered design with modern styling

πŸ›  Tech Stack

Frontend Backend Database
React Spring Boot H2
Vite REST API JPA
CSS Java Hibernate

πŸ§ͺ Screenshots

  • Login
  • Task List

πŸ“¦ Project Structure

todo-app/
β”œβ”€β”€ backend/
β”‚   └── src/main/java/com/example/todo/
β”‚       β”œβ”€β”€ model/          β†’ User, Todo entities
β”‚       β”œβ”€β”€ repository/     β†’ JPA Repositories
β”‚       β”œβ”€β”€ controller/     β†’ REST Controllers (Auth + Todo)
β”‚       └── TodoApp.java    β†’ Main Spring Boot app
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Login.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Signup.jsx
β”‚   β”‚   β”‚   └── TodoList.jsx
β”‚   β”‚   └── style.css
β”‚   └── index.html

πŸ“– How to Run

▢️ Backend (Spring Boot)

cd backend
mvn clean install
mvn spring-boot:run

πŸ§ͺ Access H2 console: http://localhost:8080/h2-console
(JDBC URL: jdbc:h2:mem:todo-db)


▢️ Frontend (React + Vite)

cd frontend
npm install
npm run dev

πŸ“ Visit: http://localhost:5173


πŸ” Sample Test Users

Email Password
test@user.com 1234
admin@todo.com admin

🧹 TODOs / Improvements

  • πŸ” Replace plain text passwords with hashed (BCrypt)
  • ☁️ Deploy on Vercel + Render (or Spring Boot on Fly.io)
  • πŸ“± Add mobile-first responsive enhancements
  • πŸ“¨ Add email notifications before due dates (optional)

πŸ“ License

MIT License Β© 2025 Brahim Kacem

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published