How garezin86-pixel/spisoc_del works
Spisok Del is a task-management product with a React web client, FastAPI backend, Telegram bot, and admin interface. The main workflow is a user creating or managing tasks through a client, with backend services applying business rules and repositories persisting changes. Separate capabilities cover task planning, teamwork and chat, reporting, files, and account security. The README documents the broader architecture and features; sampled source confirms selected auth, storage, task-repository, WebSocket, and client interactions, so unsampled feature wiring is shown only at documented layer boundaries.
Main entry points: tasks_router.py API routers · task_repository.py Data repositories · active_storage.py Storage selector · App.jsx React application
Components 28
User clients
- React application
frontend/src/App.jsx - API client
frontend/src/api.js - Bot workflows
src/bot/handlers/tasks.py - Admin interface
src/admin/views/task_admin.py
API and domain
- FastAPI application
src/main.py - API routers
src/routers/tasks_router.py - Authentication
src/services/auth_service.py - Task lifecycle
src/services/task_service.py - Planning features
src/services/calendar_service.py - Projects and groups
src/services/project_service.py - Task templates
- Analytics
src/services/analytics_service.py
Persistence
- Data repositories
src/repositories/task_repository.py - Domain models
src/models/task.py - PostgreSQL
Collaboration
- Team chat
src/services/chat_service.py - Attachment service
src/services/attachment_service.py - Storage selector
src/services/active_storage.py - Local file storage
src/services/local_storage_service.py - Cloudflare R2
src/services/storage_service.py
Platform services
- Notifications and push
src/services/notifications.py - WebSocket hub
src/core/ws_manager.py - Reminder scheduler
src/main.py - Redis
Other components
- Browser user
- Telegram user
- Telegram platform
- Groq voice AI
Connections 31
- Browser user → React application: uses
- React application → API client: requests
- API client → API routers: calls
- FastAPI application → API routers: serves
- API routers → Authentication: delegates auth
- API routers → Task lifecycle: delegates tasks
- API routers → Planning features: delegates planning
- API routers → Projects and groups: delegates teams
- API routers → Task templates: delegates templates
- API routers → Analytics: delegates analytics
- Task lifecycle → Data repositories: queries and updates
- Planning features → Data repositories: queries
- Projects and groups → Data repositories: persists data
- Task templates → Data repositories: persists data
- Analytics → Data repositories: queries
- Data repositories → Domain models: maps records
- Data repositories → PostgreSQL: reads and writes
- Telegram user → Telegram platform: sends messages
- Telegram platform → Bot workflows: dispatches
- Bot workflows → Data repositories: uses unit of work
- Admin interface → PostgreSQL: administers data
- API routers → Team chat: delegates chat
- API routers → Attachment service: delegates files
- Attachment service → Storage selector: stores files
- Storage selector → Local file storage: selects active backend
- Storage selector → Cloudflare R2: alternative backend
- API routers → Notifications and push: delegates notifications
- API routers → WebSocket hub: dispatches events
- Reminder scheduler → Redis: uses cache
- Authentication → Redis: stores token state
- Telegram platform → Groq voice AI: voice requests