How hardius/go_final_project works
This is a Go web-based task scheduler. A browser uses the served web interface and API to create, search, edit, complete, and delete tasks; task dates can follow daily, weekly, monthly, or yearly recurrence rules. The sampled code confirms startup, task creation/listing/deletion, recurrence calculation, and SQLite access. Other documented API capabilities are included by their source paths, but their wiring is not asserted because those handlers were not sampled.
Main entry points: task.go Task operations · taskhandlers.go Task method router · server.go HTTP server · addtask.go Create task
Components 16
Server runtime
- Web interface
web - HTTP server
pkg/server/server.go - Application entry
main.go
Task API
- Task method router
pkg/api/taskhandlers.go - Create task
pkg/api/addtask.go - Search tasks
pkg/api/tasks.go - Read task
pkg/api/gettask.go - Edit task
pkg/api/updatetask.go - Delete task
pkg/api/deletehandler.go - Complete task
pkg/api/taskdone.go - Password sign-in
pkg/api/signin.go - Next-date API
pkg/api/nexthandler.go
Scheduling
- Recurrence rules
pkg/functions/nextdate.go
Persistence
- Task operations
pkg/db/task.go - SQLite database
pkg/db/db.go
Other components
- Browser user
Connections 17
- Browser user → Web interface: uses
- Application entry → Task operations: initializes database
- Application entry → HTTP server: starts
- HTTP server → Web interface: serves files
- HTTP server → Task method router: initializes API
- Task method router → Create task: dispatches
- Task method router → Read task: dispatches
- Task method router → Edit task: dispatches
- Task method router → Delete task: dispatches
- Create task → Task operations: inserts task
- Create task → Recurrence rules: checks recurrence
- Search tasks → Task operations: queries tasks
- Delete task → Task operations: deletes task
- Next-date API → Recurrence rules: calculates date
- Task operations → SQLite database: reads and writes
- Complete task → Task operations: updates task date
- Task operations → Recurrence rules: calculates next date