A productivity-focused task manager built for developers
|
|
# Clone the repository
git clone https://github.com/yourusername/dev-focus.git
cd dev-focus
# Install dependencies
npm install
# Configure environment
cp .env.example .env.local
# Start development server
npm run devOpen http://localhost:5173 in your browser.
| Category | Technologies |
|---|---|
| Frontend | React 19 • TypeScript • Vite |
| Styling | Tailwind CSS 4 • Framer Motion |
| State | React Context • Custom Hooks |
| Backend | Firebase Auth • Firestore |
| Storage | IndexedDB (local) • Firebase (cloud) |
| Testing | Vitest • React Testing Library |
- Go to Firebase Console
- Create a new project
- Enable Authentication → Google sign-in provider
- Create a Web App → copy config values
- Paste values into
.env.local
This project includes firestore.rules file that allows authenticated users to access their own data only.
Deploy rules using Firebase CLI:
# Install Firebase CLI
npm install -g firebase-tools
# Login to Firebase
firebase login
# Deploy Firestore rules
firebase deploy --only firestore:rulesRules explanation:
- Users can only read/write data in
users/{userId}/paths - The
userIdmust match the authenticated user's UID - This ensures users cannot access each other's data
- The
userIdin Firestore paths matches the user's UID
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
npm run lint:fix |
Fix ESLint issues |
npm run test |
Run tests |
npm run test:watch |
Run tests in watch mode |
dev-focus/
├── 📂 components/ # React components
├── 📂 context/ # State management
├── 📂 hooks/ # Custom React hooks
├── 📂 services/ # Firebase & storage
├── 📂 utils/ # Helper functions
├── 📂 plans/ # Documentation
├── 📄 App.tsx # Root component
├── 📄 types.ts # TypeScript types
└── 📄 vite.config.ts # Build configuration
We welcome contributions! Please read our Contributing Guide to learn about:
- Setting up your development environment
- Coding standards and best practices
- Submitting pull requests
- Reporting bugs and requesting features
This project is licensed under the MIT License — see LICENSE.md for details.
Made with ❤️ by the DevFocus community



