Thank you for your interest in contributing to Homework Scheduler.
This document explains how to set up the project locally, follow the current code style, validate your changes, and open a clean pull request.
Make sure you have the following installed:
- Node.js
- npm
- MongoDB
-
Clone the repository:
git clone https://github.com/OpenLake/Homework-Scheduler.git cd Homework-Scheduler -
Install dependencies:
npm install
-
Start MongoDB in a separate terminal:
mongod
-
Start the development server:
npm run dev
-
Open the app in your browser:
http://localhost:3000
This project uses:
- ESLint with
next/core-web-vitals - Prettier for formatting
Follow the existing Prettier configuration in the repository:
- use tabs
- use single quotes
- avoid parentheses for single-argument arrow functions when possible
- keep trailing commas where allowed
Before opening a pull request, run:
npm run lintUse short and descriptive branch names. Preferred examples:
docs/add-contributing-guidefix/course-validationfeat/import-deadlines
Use clear commit messages with a small and focused scope. Examples:
docs: add contributing guidefix: validate course form inputfeat: add deadline import button
Try to avoid mixing unrelated changes in the same commit.
Please keep pull requests focused and easy to review.
- make sure the branch is up to date with the latest main branch
- run
npm run lint - manually test the affected flow
- avoid unrelated refactors
- update documentation if your change affects developer workflow or usage
- my change is focused on a single issue or concern
- I ran
npm run lint - I tested the affected feature locally
- I updated documentation if needed
- I linked the related issue in the PR description
This repository currently exposes linting through:
npm run lintAt the moment, there is no dedicated automated test script in package.json.
Because of that, contributors should also perform a short manual validation of the affected flow, such as:
- signing up or logging in
- creating or editing a course
- creating assignments
- checking the deadline-related UI
When opening a bug report, please include:
- a short summary of the problem
- steps to reproduce
- expected behavior
- actual behavior
- screenshots or logs if available
- browser / OS information when relevant
A well-written issue makes it much easier to reproduce and fix the problem.
This repository does not currently appear to include a dedicated project-specific Code of Conduct file.
Until one is added, please keep all discussions respectful, constructive, and professional in issues, pull requests, and review comments, and follow GitHubβs community expectations.
If anything is unclear, feel free to open an issue and ask for clarification before starting a larger change.