https://github.com/sudoeren/fochus
Manage Your Productivity and Focus Time
https://github.com/sudoeren/fochus
docker-compose docker-image life lucide-react nextjs note note-taking notes pomodoro pomodoro-timer prisma-orm react shadcn-ui tailwind tailwindcss todo todoapp todolist typescript vite
Last synced: 16 days ago
JSON representation
Manage Your Productivity and Focus Time
- Host: GitHub
- URL: https://github.com/sudoeren/fochus
- Owner: sudoeren
- License: mit
- Created: 2025-07-23T11:46:30.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-05-27T09:21:32.000Z (17 days ago)
- Last Synced: 2026-05-27T11:19:53.851Z (17 days ago)
- Topics: docker-compose, docker-image, life, lucide-react, nextjs, note, note-taking, notes, pomodoro, pomodoro-timer, prisma-orm, react, shadcn-ui, tailwind, tailwindcss, todo, todoapp, todolist, typescript, vite
- Language: TypeScript
- Homepage: https://fochus.pages.dev
- Size: 41.7 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: .github/SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
Fochus
Manage Your Productivity and Focus Time
Fochus is a modern, all-in-one personal productivity suite designed to help you stay organized and focused. It combines task management, note-taking, and a Pomodoro timer into a single, sleek, and intuitive interface.
Developer: Eren Çakar
[Features](#features) •
[Installation](#installation) •
[FAQ](#faq) •
[License](#license)
---
## App Preview
Fochus comes with an eye-friendly dark mode and a spacious light mode. You can use the system theme or select manually according to your preference.
### Light and Dark Mode
Stylish and focus-enhancing Dark Mode
Clean and spacious Light Mode
---
## One-Line Install (Linux)
Any Linux machine with Docker — one command, zero configuration:
```bash
curl -sSL https://github.com/sudoeren/fochus/raw/main/install.sh | bash
```
Or if you prefer to review first:
```bash
git clone https://github.com/sudoeren/fochus.git
cd fochus
bash install.sh
```
The script will:
- Clone the repository
- Build a single Docker image (backend + frontend + SQLite)
- Start the container with auto-restart
- Open port `3000` in the firewall (if using `ufw`)
- Show your local and network access URLs
> **External access:** The app binds to `0.0.0.0:3000`. Access from anywhere on your network via `http://:3000`. For internet access, set up a reverse proxy (nginx, Caddy) or a tunnel (ngrok, Cloudflare Tunnel).
### Uninstall
```bash
bash <(curl -sSL https://github.com/sudoeren/fochus/raw/main/uninstall.sh)
```
Or from a local clone:
```bash
bash uninstall.sh
```
This stops the container, removes it, deletes the data volume and Docker image.
---
### Other Setup Methods
#### Node.js (Direct, No Docker)
```bash
git clone https://github.com/sudoeren/fochus.git
cd fochus
npm run setup # installs deps, creates SQLite DB, generates Prisma
npm start # runs backend + frontend simultaneously
```
Open **http://localhost:5173**.
#### Docker Compose
```bash
git clone https://github.com/sudoeren/fochus.git
cd fochus
docker-compose up -d --build
```
Open **http://localhost:3000**.
#### Development
```bash
# Terminal 1: Backend
cd backend
cp .env.example .env
npm install
npx prisma db push
npm run dev # http://localhost:3001
# Terminal 2: Frontend
npm install
npm run dev # http://localhost:5173
```
---
## Spotlight: Everything at Your Fingertips
Don't get lost in the app! Access your notes, tasks, and settings in seconds with the **Spotlight** feature (`/` key).
---
## Features
Fochus is developed with user experience and efficiency in mind.
### Smart Notes
- **Rich Text Editor:** Format and detail your notes.
- **Pinning & Organization:** Keep important notes at the top.
- **Trash System:** Safely restore deleted notes or delete them permanently.
- **Task Integration:** Link your notes directly with your tasks.
### Advanced Task Management
- **Custom Lists:** Separate tasks into project-based lists and use color codes.
- **Recurring Tasks:** Create daily, weekly, or monthly routines.
- **Drag & Drop:** Easily sort tasks with `@hello-pangea/dnd`.
- **Subtasks:** Break down complex jobs into manageable small parts.
- **Smart Statuses:** Track Pending, Completed, or Deferred jobs.
### Integrated Pomodoro Timer
- **Focus Modes:** Built-in timer for Work, Short Break, and Long Break.
- **Session Tracking:** Automatically save sessions to track your productivity history.
- **Distraction-Free Interface:** Simplified view to help you stay in the flow.
---
## FAQ
**Q: What are the main keyboard shortcuts?**
A: You can open the **Spotlight** with the `/` key to quickly access all features and search your data.
**Q: Where is my data stored?**
A: With the self-hosted Docker setup, data is stored in a SQLite database inside the `fochus_data` Docker volume. You can back up and restore via the Settings page.
**Q: Can I customize the Pomodoro timer?**
A: Yes! You can customize work, short break, and long break durations, enable auto-start for breaks or work sessions, and set the long break interval — all from the settings panel inside the timer.
**Q: Is there a mobile version?**
A: Fochus is intentionally desktop-first. A dedicated mobile experience is not planned for now.
**Q: How do I run tests?**
A: Run `npm test` in the root for frontend tests or `cd backend && npm test` for backend tests. Both use Vitest.
---
## License
Distributed under the MIT License. See `LICENSE` file for more information.
---
Developed by Eren Çakar