On Track is a professional habit tracking application that helps users build and maintain positive habits through detailed time tracking and analytics. Built with modern web technologies and a Silicon Valley-inspired design philosophy.
- Habit Tracking: Create, monitor, and maintain habits with detailed time tracking
- Analytics Dashboard: Visualize your progress with interactive charts and statistics
- Professional Invoice System: Generate and manage premium-quality PDF invoices
- Subscription Management: Flexible billing with monthly and annual plans
- Modern UI/UX: Clean, responsive design with optimal user experience
- Secure Authentication: Protected routes and secure user data management
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS
- State Management: Zustand
- PDF Generation: jsPDF, jspdf-autotable
- Date Handling: date-fns
- Charts: Recharts
- Authentication: NextAuth.js
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn package manager
- Git
-
Clone the repository:
git clone https://github.com/yourusername/on-track-habit-tracker.git cd on-track-habit-tracker -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
cp .env.example .env.local
Fill in your environment variables in
.env.local -
Run the development server:
npm run dev # or yarn dev
Open http://localhost:3000 with your browser to see the application.
on-track-habit-tracker/
├── app/ # Next.js app directory
├── components/ # Reusable React components
│ ├── billings/ # Billing and invoice components
│ ├── habits/ # Habit tracking components
│ └── ui/ # Common UI components
├── lib/ # Utility functions and store
├── public/ # Static assets
└── styles/ # Global styles
- All sensitive data is encrypted
- API routes are protected
- Environment variables are required for full functionality
- TypeScript for type safety
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email [email protected] or open an issue in the repository.
Built with ❤️ by [Kemo Jallow]
