Skip to main content

Contributing Guidelines

Welcome!​

Thank you for considering contributing to Smart Academic Hub!

How to Contribute​

Reporting Bugs​

  1. Check if bug already reported
  2. Use bug report template
  3. Include reproduction steps
  4. Provide system information
  5. Add relevant screenshots/logs

Suggesting Features​

  1. Check existing feature requests
  2. Use feature request template
  3. Explain use case and benefits
  4. Provide examples if possible

Code Contributions​

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Write/update tests
  5. Follow code standards
  6. Submit a pull request

Development Workflow​

1. Setup Development Environment​

# Clone your fork
git clone https://github.com/your-username/SmartAcademicHub.git
cd SmartAcademicHub

# Install dependencies
cd backend && composer install
cd ../frontend && npm install
cd ../mobile && npm install

2. Create Feature Branch​

git checkout -b feature/your-feature-name

3. Make Changes​

  • Write clean, readable code
  • Follow coding standards
  • Add/update tests
  • Update documentation

4. Commit Changes​

Use conventional commits:

git commit -m "feat: add student search functionality"
git commit -m "fix: resolve authentication bug"
git commit -m "docs: update API documentation"

5. Push and Create PR​

git push origin feature/your-feature-name

Then create a pull request on GitHub.

Pull Request Guidelines​

PR Checklist​

  • Code follows project standards
  • Tests pass
  • New tests added for new features
  • Documentation updated
  • Commit messages are clear
  • No merge conflicts
  • PR description is complete

PR Description​

Include:

  • What changes were made
  • Why changes were needed
  • How to test the changes
  • Screenshots (if UI changes)
  • Related issues

Code Review Process​

  1. Automated checks run first
  2. Maintainers review code
  3. Address review feedback
  4. Get approval from maintainer
  5. PR merged to main branch

Community​

  • Be respectful and inclusive
  • Help others learn and grow
  • Provide constructive feedback
  • Follow code of conduct

Questions?​

  • Open a discussion on GitHub
  • Check existing documentation
  • Ask in community channels