Project Structure
This repository contains two main parts:
Chrome Extension
Located in extension/ folder
Backend API
Node.js + Express in backend/ folder
Quick Links
Getting Started
Prerequisites
- Node.js 18+ and npm
- MongoDB (local or Atlas)
- Google Chrome (for loading the extension)
Backend Setup
cd backend
npm install
# Create .env file with:
MONGODB_URI=mongodb://localhost:27017/timemachine
JWT_SECRET=your-long-secret
npm run dev
Extension Setup
- Open Chrome and navigate to
chrome://extensions - Enable Developer Mode
- Click "Load Unpacked" and select the
extension/folder - Test your changes!
Branching & Commits
- Create branches off
main:feat/short-title,fix/bug-xyz - Use Conventional Commits:
feat:add Guard keyword togglefix:correct timezone day splitdocs:update README quickstartrefactor:simplify popup event wiringchore:bump deps
Coding Guidelines
- 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.
Submitting a Pull Request
- 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
Hacktoberfest Notes
- The repository carries the
hacktoberfesttopic during the event. - Issues intended for contributors are 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.
Ready to Contribute?
Fork the repository, make your changes, and submit a pull request. We review all contributions and provide feedback!
View on GitHub