Thanks for your interest in contributing! This project is open-source under the MIT License and welcomes contributions during Hacktoberfest and beyond.
This repo contains two parts:
- Chrome extension (folder:
extension/) - Node.js + Express backend (folder:
backend/)
We aim for small, focused pull requests with clear descriptions and screenshots for UI changes.
- Code of Conduct: https://github.com/Harshdev625/TimeMachine/blob/main/CODE_OF_CONDUCT.md
- Security: https://github.com/Harshdev625/TimeMachine/blob/main/SECURITY.md
- Open Issues: https://github.com/HarshDev625/TimeMachine/issues
- Good First Issues: https://github.com/HarshDev625/TimeMachine/labels/good%20first%20issue
- Hacktoberfest Issues: https://github.com/HarshDev625/TimeMachine/labels/hacktoberfest
Prerequisites:
- Node.js 18+ and npm
- MongoDB (local or Atlas)
- Google Chrome (for loading the extension)
Backend:
cd backendnpm install- Create
.env(copy.env.exampleif present) with:MONGODB_URI=mongodb://localhost:27017/timemachineJWT_SECRET=your-long-secret
npm run devto start the API (nodemon).
Extension (unpacked):
- Open Chrome →
chrome://extensions→ enable Developer Mode - Load Unpacked → select the
extension/folder - Click the extension icon → Sign up / Log in → test your change
- Create branches off
main:feat/short-title,fix/bug-xyz - Prefer Conventional Commits for clarity:
- feat: add Guard keyword toggle
- fix: correct timezone day split
- docs: update README quickstart
- refactor: simplify popup event wiring
- chore: bump deps
- JavaScript only (no framework). Keep changes minimal and focused.
- Avoid broad reformatting. Keep existing style and file layout.
- For UI changes, include screenshots/gifs in the PR.
- For backend changes, describe any schema or API changes and test steps.
- Fork and create a branch
- Make changes with clear commit messages
- Run and manually test:
- Backend endpoints you touched
- Extension flows (popup/blocked page) relevant to your change
- Open a PR against
mainwith:- Linked issue (e.g., “Closes #123”)
- Summary of changes + screenshots (when UI changes)
- Notes on testing and any follow-ups
We use labels like bug, enhancement, good first issue, hacktoberfest. Maintainers will review and may request tweaks.
- The repository will carry the
hacktoberfesttopic during the event. - Issues intended for contributors will be labeled
hacktoberfestand/orgood first issue. - Valid PRs will be merged, approved in review, or labeled
hacktoberfest-accepted. - Spam or low-effort PRs will be labeled
spamand/orinvalidand closed.
By contributing, you agree that your contributions will be licensed under the MIT License of this repository.
- Add the repository topic
hacktoberfest. - Apply the
hacktoberfestlabel to issues you want help with; addgood first issuewhen suitable. - Triage PRs promptly: merge valid ones, or leave an approving review, or add the
hacktoberfest-acceptedlabel. - Mark spam requests as
spamand close; mark incorrect ones asinvalid.
Open an issue for discussion, or comment directly on a relevant issue/PR.