{"repo":"thanhdaon/clean-arch-go","free":true,"listed":false,"github":"https://github.com/thanhdaon/clean-arch-go","clone":"git clone https://github.com/thanhdaon/clean-arch-go.git","description":"Clean Architecture, DDD, CQRS with testings in Go","language":"Go","stars":19,"topics":["chi","clean-architecture","component-testing","cqrs","ddd","openapi","unittest","golang","mysql","opentelemetry"],"license":null,"category":"databases-storage","readme_excerpt":"Domain Build a Task Management API with role-based access, enabling three types of users: Admin, Employer, and Employee. User Roles 1. Admin : - Manage all users (create, view, update profile, delete) - Change user roles - Full task management permissions (including delete any task) 2. Employer : - Create tasks - Assign/unassign tasks to employees - View all tasks - Delete own tasks - Archive tasks - Update task details (title, priority, due date, description) 3. Employee : - View only tasks assigned to them - Update status of assigned tasks - Update title, priority, due date, description of assigned tasks - Reopen completed tasks Task Properties - Status : Todo, Pending, In Progress, Completed (with valid state transitions) - Priority : Low, Medium, High, Urgent - Due Date : Optional deadline - Description : Optional detailed description - Tags : Multiple tags per task Authentication - Email/password login with JWT token Environtment - Golang 1.23.5 - Docker, Docker Compose Setup - Run docker compose up -d to boostrap all dependencies (Mysql) - Run go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest to install oapi-codegen tool - Run go install github.com/rubenv/sql-migrate/...@latest to install sql-migrate tool - Run make migration-up to migrate the database schema - Run make test to run all test cases - Run make start to start server Clean Architecture Our approach to Clean Architecture is two ideas combined: separating Ports and Adapters and limitin","default_branch":null,"files":null,"tree":[],"storefront":"/r/thanhdaon","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/thanhdaon/clean-arch-go/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}