Skip to content

Contributing

Thank you for your interest in contributing to acodeaday! This guide will help you get started.

Ways to Contribute

Report Bugs

Found a bug? Please open an issue with:

  • A clear, descriptive title
  • Steps to reproduce the bug
  • Expected vs actual behavior
  • Screenshots (if applicable)
  • Your environment (browser, OS, etc.)

Suggest Features

Have an idea? Open a feature request with:

  • Description of the feature
  • Why it would be useful
  • Any implementation ideas you have

Submit Code

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Run tests: uv run pytest (backend) / npm test (frontend)
  5. Commit with clear messages
  6. Push and open a Pull Request

Add Problems

See Adding Problems to contribute new coding challenges.

Improve Documentation

Documentation improvements are always welcome! Edit files in the docs/ directory.

Development Setup

See Quick Start for setting up your development environment.

Running Tests

Backend:

bash
cd backend
uv run pytest

Frontend:

bash
cd frontend
npm test

Code Style

  • Python: Follow PEP 8, use type hints
  • TypeScript/React: Follow ESLint configuration
  • Commits: Use clear, descriptive commit messages

Pull Request Guidelines

  1. One feature per PR - Keep PRs focused
  2. Include tests - Add tests for new functionality
  3. Update docs - Update documentation if needed
  4. Describe changes - Write a clear PR description

Code of Conduct

Be respectful and inclusive. We're all here to learn and build together.

Questions?

License

By contributing, you agree that your contributions will be licensed under the project's license.