Thank you for your interest in contributing to AIPCSS (AI-Powered Smart Classroom Scheduling System)! This guide will help you get started.
- Code of Conduct
- Getting Started
- Development Setup
- Making Changes
- Commit Messages
- Pull Request Process
- Reporting Bugs
- Suggesting Features
Please read and follow our Code of Conduct. Be respectful, inclusive, and constructive in all interactions.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/AIPCSS.git cd AIPCSS - Create a branch for your changes:
git checkout -b feature/your-feature-name
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python run.pycd frontend
npm install
npm run dev- Follow the existing code style and patterns
- Write clean, readable, and well-documented code
- Add appropriate comments for complex logic
- Ensure all existing tests pass before submitting
- Test your changes thoroughly across different scenarios
Use clear and descriptive commit messages following this format:
type(scope): brief description
Detailed explanation if needed.
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat(scheduler): add genetic algorithm crossover operators
fix(auth): resolve token expiration edge case
docs(api): update scheduling endpoint documentation
- Ensure your branch is up to date with
main:git fetch origin git rebase origin/main
- Push your changes to your fork
- Open a Pull Request against the
mainbranch - Provide a clear description of the changes and their purpose
- Respond to review feedback promptly
- Ensure CI checks pass (if applicable)
Please open a Bug Report with:
- A clear description of the bug
- Steps to reproduce
- Expected vs. actual behavior
- Screenshots if applicable
- Your environment (OS, Node.js version, Python version)
Please open a Feature Request with:
- A clear description of the feature
- The motivation or use case
- Any proposed implementation ideas
Thank you for contributing!