Skip to content

Development Guide

Welcome to the Colony development guide. This section contains all the information you need to contribute to or modify the Colony project.

Project Structure

colony/
├── backend/          # FastAPI application
│   ├── app/
│   ├── requirements.txt
│   └── Dockerfile
├── frontend/         # Next.js application
│   ├── src/
│   ├── package.json
│   └── Dockerfile
├── shared/           # Shared types, constants
├── docs/            # Documentation
├── .github/         # GitHub Actions workflows
├── docker-compose.yml
└── README.md

Development Philosophy

This project serves multiple purposes:

  • Personal Finance Management: Create a robust tool for tracking personal expenses
  • Technology Practice: Explore modern web development technologies
  • Learning Experience: Implement best practices in full-stack development

Prerequisites for Development

  • Docker and Docker Compose (required)
  • Node.js 18+ (for local frontend development)
  • Python 3.11+ (for local backend development)
  • Git (version control)

Development Workflow

  1. Fork and Clone

    git clone https://github.com/jcarranz97/colony.git
    cd colony
    

  2. Create Feature Branch

    git checkout -b feature/your-feature-name
    

  3. Make Changes

  4. Follow coding standards
  5. Write tests for new features
  6. Update documentation

  7. Test Locally

    docker-compose up --build
    

  8. Submit Pull Request

  9. Ensure all tests pass
  10. Include clear description
  11. Reference any related issues

Next Steps