Development Guide
FitFeed follows a clean architecture pattern and uses modern tools for development.
Getting Started
Prerequisites
To contribute, you'll need the following tools:
- Go 1.25+
- Docker & Docker Compose
- Node.js & Bun
- Air (for Go hot-reloading)
Initial Setup
FitFeed uses a unified development environment managed by a root Makefile:
This command checks for required tools and initializes your local config.toml.
Running for Development
To start the database, apply migrations, and start backend services and frontend in parallel:
To stop the development environment:
LLM Usage Policy
FitFeed encourages developers to use modern Large Language Models (LLMs) to increase productivity. However, the following rules apply:
- Human Review: All code generated by an LLM must be thoroughly reviewed by a human developer.
- Responsibility: The author of a pull request (PR) takes full responsibility for the submitted code.
- Accountability: Authors must be able to:
- Explain any part of the code they submitted.
- Answer code-related questions during PR reviews.
- Adjust any part of the code based on review feedback or project decisions.
Coding Standards
- Go: Follow standard Go idioms and
gofmt. Useslogfor structured logging. - React: Use TypeScript for type safety. Follow functional component patterns and use Ant Design components.
- Git: Use descriptive commit messages. Work on feature branches and submit PRs to
main. - Database: All schema changes must be implemented as migrations in the
dbmservice.