A simple, efficient task management application built with Go and vanilla JavaScript.
- Create, read, update, and delete tasks
- Task categories (Work, Personal, General)
- Urgency levels
- Due dates
- Task completion tracking
- Search functionality
- Sort by:
- Completion status
- Due date
- Task name
- Responsive design with sidebar navigation
- Clone the repository
git clone https://github.com/yourusername/gopherdo.git
cd gopherdo- Initialize the database
# The database will be automatically created in the data directory
# when you first run the application- Build the application
make build- Run the application
make runThe application will be available at http://localhost:8080
gopherdo/
├── api/
│ └── static/ # Frontend files
│ └── index.html
├── cmd/
│ └── server/ # Application entry point
│ └── main.go
├── internal/
│ ├── config/ # Configuration
│ ├── db/ # Database operations
│ │ └── migrations/
│ ├── handler/ # HTTP handlers
│ └── model/ # Data models
├── data/ # SQLite database location
├── Makefile
└── README.md
- Access the web interface at
http://localhost:8080 - Create tasks using the form
- Use the search bar to find specific tasks
- Sort tasks using the dropdown menu
- Mark tasks as complete or delete them as needed
To run in development mode:
make runTo build for different platforms:
make buildGET /tasks- Retrieve all tasksPOST /tasks- Create a new taskPATCH /tasks/complete- Mark a task as completeDELETE /tasks/delete- Delete a task
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GPL-3.0 License - see the LICENSE file for details
- Built with Go
- SQLite for data storage
- Vanilla JavaScript for frontend