A React-based productivity application built with TypeScript and Vite to help users manage their focus and productivity through intuitive dashboards, charts, and user management.
- 📊 Interactive Dashboard
- 📈 Performance Charts & Analytics
- 👥 User Management System
- 🔐 Protected Routes & Authentication
- 📱 Responsive Design
- 🌐 Google Authentication Integration
- 👤 User Profile Management
- 📰 News Integration
- ⚛️ React 18
- 📝 TypeScript
- ⚡ Vite
- 🎨 Modern UI Components
- 🔒 Context API for State Management
- 📊 Data Visualization
- 🛣️ React Router for Navigation
- Node.js 18 or higher
- pnpm 8 or higher
- Clone the repository:
git clone https://github.com/roshni73/focus-flow.git
cd focus-flow- Install dependencies:
pnpm install- Start the development server:
pnpm dev- Open http://localhost:3000 in your browser
- Docker installed on your system
- Docker Buildx (for multi-platform builds)
- Build the Docker image using Buildx:
docker buildx build -t focus-flow .- Run the container:
docker run -p 3000:80 focus-flowThe application will be available at http://localhost:3000
- Build multi-platform image:
docker buildx build --platform linux/amd64,linux/arm64 -t focus-flow . - Run container:
docker run -p 3000:80 focus-flow - Stop container:
docker stop focus-flow - Remove container:
docker rm focus-flow - Remove image:
docker rmi focus-flow
pnpm dev- Start development serverpnpm build- Build for productionpnpm preview- Preview production buildpnpm lint- Run ESLint
src/
├── assets/ # Icons and static assets
├── components/ # Reusable UI components
├── contexts/ # React Context providers
├── layout/ # Layout components
├── route/ # Route configurations
├── utils/ # Utility functions
└── views/ # Page components
- Protected routes implementation
- Google OAuth integration
- Session management
- Interactive data visualization
- Performance metrics
- User activity tracking
- User profile customization
- Password management
- Activity history
- Performance tracking
- Data visualization
- Progress metrics
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository.