This todo app features a Kanban-style board with drag-and-drop task management, now enhanced with user authentication using email magic links and data synchronization with a SQLite database.
- Kanban board with drag-and-drop functionality
- Collapsible unassigned tasks section
- Task prioritization (high, medium, low)
- Due dates with visual indicators for overdue and soon-due tasks
- User authentication with magic link emails
- Data synchronization between client and server
- Go backend with SQLite database
- Frontend: Vanilla JavaScript, CSS, HTML
- Backend: Go (Golang) with SQLite
- Authentication: Email magic links + JWT tokens
- Go 1.21 or higher
- SQLite3
- SMTP server for sending emails (optional for development)
Create a .env file in the project root with the following variables:
PORT=8080
JWT_SECRET=your_secret_key_here
# SMTP Configuration (optional for development)
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your_username
SMTP_PASSWORD=your_password
SMTP_FROM=noreply@example.com
-
Install Go dependencies:
go mod download -
Build and run the server:
go run *.go -
Access the application in your browser:
http://localhost:8080
- For development, magic links are displayed in the UI and console
- The database file
todo.dbis created automatically on first run - Data is synced between client and server every 30 seconds when authenticated
