TaskFlow-Pro

command module
v0.0.0-...-ec1f8bd Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2025 License: MIT Imports: 10 Imported by: 0

README

TaskFlow Pro (Go Edition)

TaskFlow Pro is a team-based task management backend built with Go, featuring real-time chat and file uploads. It's perfect for collaborative project management platforms like Trello or Asana — but built from the ground up in Go.


Features


Tech Stack

Layer Tech
Language Go
Framework Gin
ORM GORM
Database PostgreSQL
Auth JWT (golang-jwt/jwt)
WebSocket Gorilla WebSocket
File Uploads cloudinary
Env Config joho/godotenv
Testing stretchr/testify, httptest

Project Structure

taskflow-pro/ ├── cmd/ │ └── server/ # main.go entrypoint ├── config/ # env, config loader ├── controllers/ # HTTP route handlers ├── chat/ # WebSocket logic ├── middleware/ # JWT, logging, etc. ├── models/ # GORM or SQLC models ├── routes/ # Route registration ├── services/ # Business logic ├── uploads/ # Uploaded files ├── utils/ # Reusable helpers ├── tests/ # Unit & integration tests ├── go.mod └── README.md


Getting Started

1. Clone the Repository
git clone https://github.com/johnson-oragui/TaskFlow-Pro.git
cd taskflow-pro

2. Set Up Environment Variables
Copy the example file and edit it:
cp .env.example .env

Fill in:
DB_URL
JWT_SECRET
UPLOAD_PATH or S3 credentials/cloudinary
3. Install Dependencies
go mod tidy

4. Run the App
go run cmd/server/main.go


API Endpoints (Sample)

WebSocket (Real-time Chat)
Connect to ws://localhost:8000/api/chat/ws/:teamId
JSON Message format:
{
  "sender": "user_id",
  "message": "Hello world",
  "timestamp": "2025-04-09T12:00:00Z"
}


File Uploads
Multipart/form-data request
Stored in /uploads/ (or to S3/cloudinary if enabled)

Testing
go test ./...


Deployment
Use Docker, Railway, Render, or DigitalOcean to deploy the backend. A Dockerfile and docker-compose.yml can be added for easy setup.

License
MIT License — Use it freely!

Author
Your Name
 GitHub: @johnson-oragui

Contributions
Open an issue or submit a PR — ideas & improvements welcome!

---

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

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