Online repository for uAlberta students to post their capstone projects and posters.
-
Clone the repository:
git clone https://github.com/donchuru/capstone_depot.git cd capstone_depot -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables by creating a
.envfile (see.env.examplefor required variables) -
Initialize the database:
python init_db.py -
Run the development server:
python run.py
This project uses GitHub Actions for continuous integration and deployment.
The CI pipeline runs on every push and pull request to the main branch and performs:
- Code linting with flake8
- Unit tests with pytest
- Code coverage reporting
The CD pipeline automatically deploys to Heroku when changes are pushed to the main branch, after all tests pass.
This project uses pre-commit hooks to ensure code quality and prevent sensitive data from being committed. To set up pre-commit hooks:
pip install pre-commit
pre-commit install
We welcome contributions to Capstone Depot! This guide will help you get started as a contributor.
-
Fork the Repository: Start by forking the repository to your GitHub account.
-
Clone Your Fork:
git clone https://github.com/YOUR-USERNAME/capstone_depot.git cd capstone_depot -
Set Up Development Environment: Follow the "Local Development Setup" section above.
-
Create a Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes: Implement your feature or bug fix.
-
Commit Your Changes: Use clear, descriptive commit messages.
git commit -m "Add feature: brief description of what you did" -
Push to Your Fork:
git push origin feature/your-feature-name -
Submit a Pull Request: Go to the original repository and create a pull request from your branch.
- Description: Provide a detailed description of your changes.
- Issue Reference: Link to any related issues.
- Tests: Ensure all tests pass.
- Documentation: Update documentation if necessary.
- Code Style: Follow the project's coding standards.
- At least one maintainer will review your PR
- Address any requested changes
- Once approved, a maintainer will merge your PR
capstone_depot/- Main application packagemodels/- Database modelsroutes/- Route definitionstemplates/- HTML templatesstatic/- Static files (CSS, JS, images)
tests/- Test suitemigrations/- Database migrations
If you find a bug, please report it by creating an issue in the GitHub repository.
Please make sure to include the following:
- A clear, descriptive title
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Your environment (OS, browser, etc.)