-
Notifications
You must be signed in to change notification settings - Fork 19
Getting Started First Contribution
A practical guide to making your first contribution to EduLite.
Starting with a simple contribution like fixing a typo:
- Teaches the complete contribution workflow
- Builds familiarity with Git and GitHub
- Provides confidence for larger contributions
- Makes an immediate positive impact on the project
- GitHub account - Sign up free
-
Git installed - Verify with
git --version - Text editor - Any editor will work (VS Code, Sublime, Notepad++)
- Navigate to github.com/ibrahim-sisar/EduLite
- Click "Fork" button (top right)
- Wait for GitHub to create your copy
git clone https://github.com/YOUR_USERNAME/EduLite.git
cd EduLitegit remote add upstream https://github.com/ibrahim-sisar/EduLite.gitgit checkout -b fix/your-descriptionBranch naming conventions:
-
fix/- Bug fixes -
feat/- New features -
docs/- Documentation changes -
refactor/- Code restructuring
- Open the file in your text editor
- Make the necessary changes
- Save the file
Example: Fixing a typo in README.md
# Before
EduLite is a lightweigt education platform
# After
EduLite is a lightweight education platform# Check what changed
git status
# Stage changes
git add README.md
# Commit with descriptive message
git commit -m "fix: correct typo in README.md"Commit message guidelines:
- Start with type:
fix:,feat:,docs:, etc. - Use present tense
- Be specific and concise
- Keep under 50 characters
git push origin fix/your-description- Visit your fork on GitHub
- Click "Compare & pull request"
- Fill out the PR template
## Description
example: `Fixed typo: "lightweigt" → "lightweight" in project description.`
## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature
- [ ] Documentation update
## Testing
- [ ] Manually reviewed the change
- [ ] Spell-checked surrounding text
## Related Issues
GitHub Actions will run automated tests and checks on your PR.
A maintainer will review your contribution. They may:
- Approve and merge - Your contribution becomes part of EduLite
- Request changes - Make the requested updates and push again
- Ask questions - Provide clarification as needed
If changes are requested:
# Make changes locally
git add modified-file.py
git commit -m "fix: address review feedback"
git push origin fix/your-descriptionThe PR automatically updates with your new commits.
Ensure you're pushing to your fork, not the main repository:
git remote -v
# Should show: origin https://github.com/YOUR_USERNAME/EduLite.gitUse a different branch name:
git checkout -b fix/your-description-v2Update your branch with the latest changes:
git checkout main
git pull upstream main
git checkout fix/your-description
git rebase main- Browse issues labeled "good first issue"
- Check documentation for typos and clarity improvements
- Look for missing or outdated documentation
- Find untested code that needs test coverage
# Find markdown files
find . -name "*.md" -type f
# Search for common typos
grep -r "teh " --include="*.md" .
grep -r "recieve" --include="*.md" .- Documentation - Fix typos, improve clarity, add examples
- Simple bugs - Fix issues with clear solutions
- Tests - Add test coverage for existing code
- Features - Implement small, well-defined features
- Complex features - Take on larger architectural changes
# View changes
git status # Check current state
git diff # Show unstaged changes
git diff --staged # Show staged changes
# Undo changes
git checkout -- filename # Discard local changes
git reset --soft HEAD~1 # Undo last commit (keep changes)
git reset --hard HEAD~1 # Undo last commit (discard changes)
# Update from upstream
git fetch upstream # Get latest changes
git merge upstream/main # Merge into current branch
git rebase upstream/main # Rebase onto latestIf contributing Python/Django code, set up pre-commit hooks:
# Install pre-commit
pip install pre-commit
# Install hooks
pre-commit installThis automatically formats code and runs checks before commits. See Backend Pre-commit Guide for details.
- Pull Request comments - Ask directly in your PR
- GitHub Issues - For issue-specific questions
- Discord #help - Real-time assistance
- GitHub Discussions - General questions
Include:
- What you're trying to do
- What you've already tried
- The exact error message (if any)
- Relevant code or configuration
# One-time setup
git clone https://github.com/YOUR_USERNAME/EduLite.git
cd EduLite
git remote add upstream https://github.com/ibrahim-sisar/EduLite.git
# For each contribution
git checkout main
git pull upstream main
git checkout -b type/description
# Make changes
git add .
git commit -m "type: description"
git push origin type/description
# Create PR on GitHub- Fork repository
- Clone locally
- Create feature branch
- Make changes
- Write clear commit message
- Push to fork
- Create pull request
- Respond to feedback
- Celebrate when merged
Remember: Every contribution, regardless of size, improves EduLite for students worldwide. Start with something simple today.
This guide is maintained by the community. Found an issue? Submit a PR to improve it.