Welcome! We are thrilled that you are interested in contributing to StudySphere. This project is built using only vanilla HTML, CSS, and JavaScript to make it accessible and easy for beginners and intermediate developers to contribute.
Please read through these guidelines before starting your contribution.
By participating in this project, you agree to abide by our Code of Conduct.
We maintain a list of issues ranging from simple UI tweaks to advanced functional features.
- Look for issues labeled
good first issueif you are new to the project or open source in general. - If you find a bug or have a feature request, please open a new issue using our templates.
Since StudySphere is built with pure web technologies, setting it up is incredibly straightforward:
- Fork the Repository: Click the "Fork" button at the top right of the repository page.
- Clone your Fork:
git clone https://github.com/YOUR_USERNAME/StudySphere.git cd StudySphere - Open the Project: You do not need
npm installor any build steps. Simply double-clickindex.htmlto open it in your browser, or use a local development server like:- VS Code "Live Server" extension
- Python simple server:
python -m http.server 8000 - Node-static:
npx http-server
- Branch Naming: Keep it descriptive, e.g.,
feat/add-quiz-cardorfix/modal-scrolling. - Coding Standards:
- Write clean, semantic HTML5.
- Use CSS variables for layout sizing and themes.
- Keep JavaScript modular, documenting functions with JSDoc headers.
- Ensure all data manipulations use the database manager (
js/db.js).
- Test Locally: Check your changes across desktop, tablet, and mobile views. Validate that local storage updates persist correctly when switching themes or reloading the page.
- Commit & Push:
git add . git commit -m "feat: add quiz creator logic" git push origin feat/add-quiz-card
- Open a Pull Request: Provide a detailed description of your changes, referencing any related issue IDs.
Here are a few features waiting for contributors:
- Quiz Generator: Create a simple multiple-choice quiz creator card and display quizzes.
- Calendar Integration: Highlight assignment deadlines on a monthly calendar view widget.
- Attendance Tracker: A simple log dashboard to track lecture attendance.
- Additional Custom Avatars: Add a list of pixel art or vector avatars to the profile selector.
- Notes Markdown Renderer: Replace the raw text rendering of notes content with a simple markdown parser library (like marked.js).
Thank you for helping make StudySphere better for everyone!