Skip to content

ATLIOD/gopherdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GopherDo Task Manager

A simple, efficient task management application built with Go and vanilla JavaScript.

Features

  • 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

Installation

  1. Clone the repository
git clone https://github.com/yourusername/gopherdo.git
cd gopherdo
  1. Initialize the database
# The database will be automatically created in the data directory
# when you first run the application
  1. Build the application
make build
  1. Run the application
make run

The application will be available at http://localhost:8080

Project Structure

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

Usage

  1. Access the web interface at http://localhost:8080
  2. Create tasks using the form
  3. Use the search bar to find specific tasks
  4. Sort tasks using the dropdown menu
  5. Mark tasks as complete or delete them as needed

Development

To run in development mode:

make run

To build for different platforms:

make build

API Endpoints

  • GET /tasks - Retrieve all tasks
  • POST /tasks - Create a new task
  • PATCH /tasks/complete - Mark a task as complete
  • DELETE /tasks/delete - Delete a task

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details

Acknowledgments

  • Built with Go
  • SQLite for data storage
  • Vanilla JavaScript for frontend

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published