Thank you for your interest in contributing! While this repository is publicly viewable, contributions are limited to the official PSITS UC Main developers team. Please read this guide before opening a Pull Request.
- View policy and permissions: see LICENSE.md
- Community standards: see CODE_OF_CONDUCT.md
- Only authorized PSITS UC Main developers may contribute code.
- The public may view the source but must not modify, redistribute, or use it (see LICENSE.md).
We use a simple workflow: master + staging + feature branches.
Workflow Steps:
- Fork the repository to your personal GitHub account.
- In your fork, create a new branch from
staging. - Implement your changes on that branch.
- Open a Pull Request (PR) targeting
stagingin the original repository. - QA tests features in the staging environment.
- If approved, changes are merged from
stagingtomaster.
flowchart LR
A[Fork Repository] --> B[Create Branch<br/>from staging]
B --> C[Implement<br/>Changes]
C --> D[Open PR<br/>to staging]
D --> E{QA Testing}
E -->|Pass| F[Merge to<br/>staging]
E -->|Fail| C
F --> G{Final<br/>Approval}
G -->|Approved| H[Merge staging<br/>to master]
G -->|Changes Needed| C
style A fill:#2196F3,stroke:#1976D2,stroke-width:2px,color:#fff
style B fill:#4CAF50,stroke:#388E3C,stroke-width:2px,color:#fff
style C fill:#FF9800,stroke:#F57C00,stroke-width:2px,color:#fff
style D fill:#9C27B0,stroke:#7B1FA2,stroke-width:2px,color:#fff
style E fill:#F44336,stroke:#D32F2F,stroke-width:2px,color:#fff
style F fill:#00BCD4,stroke:#0097A7,stroke-width:2px,color:#fff
style G fill:#E91E63,stroke:#C2185B,stroke-width:2px,color:#fff
style H fill:#4CAF50,stroke:#388E3C,stroke-width:3px,color:#fff
Use clear, conventional prefixes:
feat/your-featurefix/bug-descriptionrefactor/areadocs/section- Optionally:
chore/,perf/,ci/,test/,security/
Prefix your commits with a type and short subject:
feat: add membership approval flowfix: correct order receipt renderingrefactor: streamline event controllerdocs: update README tech stack- Optional types:
chore,perf,ci,test,security
Keep messages concise and descriptive. Use imperative mood (e.g., "add", "fix").
- Target branch:
staging - Approvals: At least 1 reviewer must approve before merge
- Merging: Use standard merge or squash per maintainer guidance
- No direct pushes to
master - Provide a clear PR description (scope, changes, any risks)
Build and test both client and server locally before opening a PR. Refer to each package's package.json for exact commands.
Recommended flow:
- Development (iterate locally):
cd client-side
npm run dev- Pre-PR production sanity (test build output):
npm run build
npm run preview- Development (iterate locally with hot reload):
cd server-side
npm run dev- Pre-PR production sanity (run compiled code):
npm run build
npm startEnsure changes run cleanly in development and also work in the production build without errors.
- Request
.envfiles from project leads. - Never commit secrets or
.envfiles. - Never share credentials or environment values publicly.
This platform handles sensitive student data (personal information, payment details, attendance records).
- Follow secure coding practices.
- Do not log or expose sensitive data.
- Report suspected security issues privately to project leads.
- If you need to propose work, coordinate with project leads.
- Email: psitsucmain2025@gmail.com
- Facebook Page: https://www.facebook.com/PSITS.UCmain
By contributing, you agree to the policy in LICENSE.md. Only authorized PSITS UC Main developers may use, modify, or distribute the code. Public viewing is permitted; external modification or redistribution is prohibited.