Thank you for your interest in contributing to StudyPlan — an application designed to automatically organize tasks, schedules, and study plans. We welcome contributions from the community, especially GSSoC contributors!
- GSSoC Contributors — Start Here
- Getting Started
- System Architecture
- Branch Naming Convention
- Commit Message Format
- Pull Request Guidelines
- Reporting Issues
- Code of Conduct
Welcome to GSSoC! Here's how the contribution flow works for this project:
- Fork the repository to your own GitHub account (button at top-right of the repo page).
- Clone your fork locally — never clone the upstream repo directly.
- Work on a feature branch (not
main) in your fork. - Open a Pull Request from your fork's branch →
StudyPlan/StudyPlan:main. - A maintainer will review and approve your PR.
- Fork the repository on GitHub.
- Clone your fork:
git clone https://github.com/<your-username>/StudyPlan.git cd StudyPlan
- Add upstream remote so you can stay in sync:
git remote add upstream https://github.com/Charushi06/StudyPlan git fetch upstream
- Create a feature branch from
main:git checkout -b your-feature-name
Frontend (Vanilla JS UI)
↓
Node.js Express API
↓
AI Layer (Gemini API)
↓
SQLite Database
↓
State Management + UI Sync
Use the following prefixes:
| Prefix | Use for |
|---|---|
feat/ |
New features |
fix/ |
Bug fixes |
docs/ |
Documentation changes |
refactor/ |
Code refactoring |
chore/ |
Maintenance tasks |
<scope>: <short clear action in present tense>.
- Scope: a module or feature name
- Use concise but descriptive language
- Start action with a capital letter (
Fix,Add,Update,Remove,Improve) - No emojis in commit messages
- One sentence only, ending with a period
- Keep under 80 characters
feat: ai automatically adds tasks to the dates
⚠️ Before starting work, sync your fork with upstreammain. Opening a PR from a stale fork causes unnecessary merge conflicts. Run these steps before creating your feature branch:# Step 1 — Sync your fork with upstream before starting work git fetch upstream git checkout main git rebase upstream/main git push origin main # Step 2 — Then create your feature branch git checkout -b your-feature-name
- One PR = One Purpose: fix one bug, add one feature, or improve documentation.
- Keep PRs small and focused — large PRs are harder to review.
- Link the relevant issue using
Fixes #<issue-number>. - Update documentation (README, docstrings, comments) as needed.
git fetch upstream
git checkout main
git merge upstream/main
git push origin main
git checkout feat/your-feature-name
git rebase mainWhen reporting issues, please include:
- A clear description of the problem
- Steps to reproduce
- Expected vs. actual behavior
- Relevant error messages or stack traces
Please be respectful and considerate in all interactions. We are committed to providing a welcoming and inclusive environment for everyone.
Unacceptable behavior includes harassment, discrimination, or any form of personal attack. Violations can be reported to the project maintainers.
- Open an issue for project-related questions.
- For GSSoC-specific questions, join our Discord community: Discord-Link
Thank you for contributing! 📚🏫