https://github.com/muradisazade777/task-tracker-api
Task Tracker API — A lightweight and container-based task management system built with Go (Gin), PostgreSQL, and Docker. It provides a fully functional full-stack framework with a RESTful API and a Vite frontend. Ideal for local development, testing, and scaling.
https://github.com/muradisazade777/task-tracker-api
api backend database docker frontend go golang html javascript nextjs react server typescript
Last synced: 9 months ago
JSON representation
Task Tracker API — A lightweight and container-based task management system built with Go (Gin), PostgreSQL, and Docker. It provides a fully functional full-stack framework with a RESTful API and a Vite frontend. Ideal for local development, testing, and scaling.
- Host: GitHub
- URL: https://github.com/muradisazade777/task-tracker-api
- Owner: MuradIsazade777
- License: other
- Created: 2025-09-13T13:19:32.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-13T13:44:45.000Z (9 months ago)
- Last Synced: 2025-09-13T15:39:25.142Z (9 months ago)
- Topics: api, backend, database, docker, frontend, go, golang, html, javascript, nextjs, react, server, typescript
- Language: Go
- Homepage:
- Size: 25.4 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 📝 Task Tracker API
A lightweight, containerized task management system built with **Go (Gin)**, **PostgreSQL**, and **Vite + Nginx**. Designed for fast development, reproducibility, and future scalability — ideal for learning Docker, backend API design, and full-stack orchestration.
---
## 🚀 Features
- RESTful API with `GET` and `POST` endpoints
- PostgreSQL database with auto-init via `init.sql`
- Frontend served via Nginx (Vite build)
- Docker Compose orchestration
- Clean separation of concerns: `models`, `handlers`, `db`
- Environment-based configuration via `.env`
---
## 🧱 Tech Stack
| Layer | Technology |
|------------|--------------------|
| Backend | Go + Gin |
| Database | PostgreSQL |
| Frontend | Vite + Nginx |
| DevOps | Docker Compose |
---
## 📦 Setup Instructions
### 1. Clone the repo
```bash
git clone https://github.com/your-username/task-tracker-api.git
cd task-tracker-api
1. Create .env file
env
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=tasks
DB_URL=postgres://postgres:postgres@db:5432/tasks?sslmode=disable
2. Run the app
docker compose up --build
3. Access the app
Frontend: http://localhost:3000
Backend API: http://localhost:8080/tasks
📮 API Endpoints
GET /tasks
Returns all tasks.
json
[
{
"id": 1,
"title": "Learn Docker",
"completed": false
}
]
POST /tasks
Creates a new task.
bash
curl -X POST http://localhost:8080/tasks \
-H "Content-Type: application/json" \
-d '{"title": "New Task", "completed": false}'
🛠 Project Structure
Code
task-tracker-api/
├── backend/
│ ├── db/
│ ├── handlers/
│ ├── models/
│ └── main.go
├── frontend/
│ └── (Vite project)
├── db/
│ └── init.sql
├── .env
├── docker-compose.yml
└── README.md
📄 License
This project is licensed under the MIT License. See LICENSE for details.
🌟 Author
Murad — building scalable, reproducible, and impactful platforms. Follow my journey on GitHub: github.com/MuradIsazade777