My App

Contributing

How to contribute to SafariDesk

Getting Started

  1. Fork the repository
  2. Clone your fork
  3. Create a feature branch
  4. Make changes
  5. Submit a pull request

Repository Structure

  • backend/ - Django REST API
  • frontend/ - React application
  • docker-compose.yml - Docker configuration

Development Setup

See Development for local setup instructions.

Code Style

Python (Backend)

  • Follow PEP 8
  • Use type hints where applicable
  • Write docstrings for functions and classes

JavaScript/TypeScript (Frontend)

  • Use TypeScript
  • Follow existing code patterns
  • Use functional components with hooks

Pull Request Guidelines

  1. Create feature branches from main
  2. Write clear commit messages
  3. Include tests for new features
  4. Update documentation as needed
  5. Ensure all tests pass before submitting

Commit Messages

Use clear, descriptive commit messages:

feat: add ticket priority filtering
fix: resolve email parsing issue
docs: update installation guide
refactor: simplify SLA calculation

Testing

Backend Tests

cd backend
python manage.py test

Frontend Tests

cd frontend
npm test

Reporting Issues

When reporting bugs, include:

  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Environment details (OS, Docker version)
  • Relevant logs

License

SafariDesk is licensed under AGPL-3.0. Contributions must be compatible with this license.

Questions

Open an issue on GitHub for questions or discussions.

On this page