How rossiolourenco/organiza-ai-web works
Organiza Aí is a full-stack personal task organizer. Users register or log in, then manage user-scoped tasks from the dashboard and task form: create, list, edit, complete, delete, and filter by status or priority; tasks can have deadlines, priorities, and optional categories. Category management is a separate capability, and account data is kept separate by user. The Angular services communicate with Spring REST controllers; task rules live in a service, while controllers access repositories for users and categories. The README documents PostgreSQL/Supabase persistence. Some page-to-service wiring is inferred from the documented workflows; unsampled implementation details are not expanded.
Main entry points: app.routes.ts Page routing · TarefaService.java Task service · CategoriaController.java Category API · UsuarioRepository.java User repository
Components 21
Angular interface
- Angular app
frontend/src/main.ts - Page routing
frontend/src/app/app.routes.ts - Login page
frontend/src/app/pages/login/login.component.ts - Registration page
frontend/src/app/pages/cadastro/cadastro.component.ts - Task dashboard
frontend/src/app/pages/home/home.component.ts - Task form
frontend/src/app/pages/tarefa-form/tarefa-form.component.ts
User accounts
- User service
frontend/src/app/services/usuario.service.ts - User API
backend/src/main/java/br/com/organizaai/backend/controller/UsuarioController.java - User entity
backend/src/main/java/br/com/organizaai/backend/model/Usuario.java
Task management
- Task service
backend/src/main/java/br/com/organizaai/backend/service/TarefaService.java - Task API
backend/src/main/java/br/com/organizaai/backend/controller/TarefaController.java - Task service client
frontend/src/app/services/tarefa.service.ts - Task entity
backend/src/main/java/br/com/organizaai/backend/model/Tarefa.java
Categories
- Category client
frontend/src/app/services/categoria.service.ts - Category API
backend/src/main/java/br/com/organizaai/backend/controller/CategoriaController.java - Category entity
backend/src/main/java/br/com/organizaai/backend/model/Categoria.java
Persistence
- User repository
backend/src/main/java/br/com/organizaai/backend/repository/UsuarioRepository.java - Task repository
backend/src/main/java/br/com/organizaai/backend/repository/TarefaRepository.java - Category repository
backend/src/main/java/br/com/organizaai/backend/repository/CategoriaRepository.java
Other components
- User
- PostgreSQL / Supabase
Connections 28
- User → Angular app: uses
- Angular app → Page routing: loads routes
- Page routing → Login page: routes to
- Page routing → Registration page: routes to
- Page routing → Task dashboard: routes to
- Page routing → Task form: routes to
- Login page → User service: authenticates
- Registration page → User service: registers through
- User service → User API: HTTP requests
- User API → User repository: reads and writes
- User API → User entity: handles
- User repository → PostgreSQL / Supabase: persists
- Task dashboard → Task service client: loads and filters
- Task form → Task service client: creates or edits
- Task service client → Task API: HTTP requests
- Task API → Task service: delegates task operations
- Task service → Task repository: queries and saves
- Task service → User repository: checks task owner
- Task service → Category repository: validates category owner
- Task API → Task entity: handles
- Task repository → PostgreSQL / Supabase: persists
- Task dashboard → Category client: loads categories
- Task form → Category client: selects category
- Category client → Category API: HTTP requests
- Category API → Category repository: queries and saves
- Category API → User repository: checks category owner
- Category API → Category entity: handles
- Category repository → PostgreSQL / Supabase: persists