FocusFlow is a powerful browser extension designed to help you maintain focus and increase productivity by managing your web browsing habits. With two key features, FocusFlow empowers you to stay on track:
- Blacklist Mode: Block specific websites that distract you from your goals.
- Whitelist Mode: Allow access only to selected websites, limiting your browsing to essential resources.
- Create personalized goals with associated URL restrictions.
- Dynamically manage which websites you can or cannot access.
- Redirect to a motivational "blocked" page when attempting to visit restricted sites.
- Node.js (v16 or higher)
- npm or yarn
- Basic understanding of React, TypeScript, and Chrome Extension development
git clone <repo name>
cd focusflow
npm install
# or
yarn install
# Start development server
npm run build
- Open Chrome.
- Go to
chrome://extensions/
. - Enable Developer Mode.
- Click on Load Unpacked.
- Navigate to the
dist
folder and select it.
focusflow/
│── popup/ # Popup UI when clicking the extension icon
│── config/ # Configuration pages for managing goals
│── blocked/ # Blocked page template
│── db/ # IndexedDB management
│── backgroundService/ # Chrome extension background scripts
│── manifest.json # Chrome Extension manifest
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m "Add some AmazingFeature"
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
- Automated testing is yet to be implemented.
- Contributions for test automation are welcome.
- Use GitHub Issues.
- Provide a detailed description of the issue.
- Include steps to reproduce.
- Attach screenshots if possible.