task-tracker

module
v0.0.0-...-dfc549c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2025 License: GPL-3.0

README

Task Tracker

Task management backend api project written in go.


Table of Contents

  1. Project Overview
  2. Features
  3. Tech Stack
  4. Architecture
  5. Getting Started
  6. API Documentation
  7. Testing
  8. Environment Variables
  9. Contributing
  10. License

Project Overview

Not yet written


Features

  • Board based task management
  • Shared task boards
  • JWT based user authentication
  • Dependency Injection
  • Structured logging

Tech Stack

  • Language: Go 1.25.3
  • Web Framework: Gin v1.11.0
  • Dependency Injection fx v1.24.0
  • Database: MySQL
  • ORM: GORM v1.31.1
  • Logger: Zerolog v1.34.0
  • Configuration: godotenv v1.5.1

Architecture

///Insert diagram or explanation of layers HTTP Handler --> Service Layer --> Repository / Database

  • Handler: Handles HTTP requests and responses
  • Service: Business logic
  • Repository: Database operations

Getting Started

Prerequisites
  • git: for cloning the repository
  • Go: 1.25 or higher
  • Database: MySQL (Can use other sql databases with minimal change)
Installation
  1. Clone the repository and download dependencies
  git clone https://github.com/Nebuska/task-tracker.git
  cd task-tracker
  go mod download
2. Set up environments
  • Create a .env file in the root directory using .env.example
  • Adjust values according to your setup. See how
3. Set up database
  • Create a database for the application (e.g., tasktracker)
Running the Application
With Makefile

Requires Unix Make

    choco install make
    make all

By default, the server should start on http://localhost:8080 (or the port you configured).

With Taskfile

Requires go-task

    go install github.com/go-task/task/v3/cmd/task@latest
    task run
With Docker
  • Not implemented yet

Api Documentation

  • Not finished documentation only short example
  • Might use Swagger/OpenAPI later
Authentication
Endpoints
Method Path Description Auth Required
POST /api/v1/register Create an account No
POST /api/v1/login Get jwt token for account No
GET /api/v1/boards List every board user has access Yes
GET /api/v1/boards/:id Get the details of a board Yes
POST /api/v1/boards Create new board Yes
DELETE /api/v1/boards/:id Delete board Yes
GET /api/v1/tasks?:filters List all tasks according to filters Yes
POST /api/v1/tasks Create new task Yes
PUT /api/v1/tasks/:id Update task Yes
DELETE /api/v1/tasks/:id Delete task Yes

Testing


Environment Variables


Contributing


License

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL