Build Better Habits, Transform Your Life
A beautifully designed mobile application built with React Native and Expo to help users create, track, and maintain healthy daily habits with ease.
π± Download APK β’ π₯ Demo Video β’ π Features β’ π Getting Started
- Create & Manage Habits - Add new habits with custom names, descriptions, and colors
- Daily Tracking - Mark habits as complete or incomplete with a simple tap
- Progress Visualization - View your progress with beautiful calendar views and interactive charts
- Smart Notifications - Get reminded about your habits at the perfect time
- Theme Support - Switch between elegant dark and light themes
- Streak Tracking - Monitor your longest streaks and current progress
- Habit Categories - Organize habits by categories (Health, Productivity, Personal, etc.)
- Weekly/Monthly Views - Analyze your performance over different time periods
- Export Data - Backup your progress and export statistics
- Offline Support - Works perfectly without internet connection
- Intuitive Interface - Clean, modern design that's easy to navigate
- Smooth Animations - Delightful micro-interactions and transitions
- Responsive Design - Optimized for all screen sizes
- Accessibility - Built with accessibility best practices
Before you begin, ensure you have the following installed:
-
Clone the repository
git clone https://github.com/yourusername/habittracker.git cd habittracker -
Install dependencies
npm install # or yarn install -
Start the development server
npx expo start
-
Run on your device
- Install Expo Go on your mobile device
- Scan the QR code displayed in your terminal
- Or press
afor Android emulator,ifor iOS simulator
# Install dependencies
npm install
# Start development server
npm start
# Run on Android
npm run android
# Run on iOS
npm run ios
# Run on web
npm run web
# Build for production
npm run build- React Native - Mobile app framework
- Expo - Development platform and tools
- TypeScript - Type-safe JavaScript
- React Navigation - Navigation library
- NativeBase / React Native Elements - UI component library
- React Native Reanimated - Advanced animations
- React Native Vector Icons - Icon library
- AsyncStorage - Local data persistence
- React Native SQLite - Local database
- Redux Toolkit - State management
- React Native Calendars - Calendar components
- Victory Native - Data visualization
- Expo Notifications - Push notifications
- React Native Haptic Feedback - Haptic feedback
src/
βββ components/ # Reusable UI components
β βββ common/ # Common components (Button, Input, etc.)
β βββ habits/ # Habit-specific components
β βββ charts/ # Chart and visualization components
βββ screens/ # Screen components
β βββ HomeScreen/ # Main dashboard
β βββ HabitsScreen/ # Habits management
β βββ ProgressScreen/ # Progress visualization
β βββ SettingsScreen/ # App settings
βββ navigation/ # Navigation configuration
βββ services/ # API and data services
βββ store/ # Redux store and slices
βββ utils/ # Helper functions and utilities
βββ hooks/ # Custom React hooks
βββ constants/ # App constants and themes
βββ types/ # TypeScript type definitions
const colors = {
primary: '#6366F1',
secondary: '#8B5CF6',
success: '#10B981',
warning: '#F59E0B',
error: '#EF4444',
// ... more colors
}- Headings: Inter Bold
- Body Text: Inter Regular
- Captions: Inter Medium
- Create habits with custom names, descriptions, and icons
- Set habit frequency (daily, weekly, custom)
- Organize habits into categories
- Archive or delete habits
- Visual calendar with completion status
- Streak counters and statistics
- Monthly and yearly overview
- Progress charts and analytics
- Customizable reminder times
- Motivational messages
- Streak milestone celebrations
- Daily summary notifications
We love contributions! Please see our Contributing Guide for details.
- Fork the repository
- 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
- Follow ESLint and Prettier configurations
- Use TypeScript for type safety
- Write meaningful commit messages
- Add tests for new features
# Run unit tests
npm test
# Run tests with coverage
npm run test:coverage
# Run E2E tests
npm run test:e2e# Build APK
expo build:android
# Build AAB (recommended for Play Store)
expo build:android -t app-bundle# Build IPA
expo build:iosThe app can be deployed through:
- Expo Application Services (EAS) - Recommended
- Manual builds using Expo CLI
- Direct submission to app stores
Or download the APK directly: π± Download APK
This project is licensed under the MIT License - see the LICENSE file for details.
Nadeesha DevOps Enthusiast |
- Design inspiration from leading habit tracking apps
- Icons from Feather Icons
- Illustrations from Undraw
- Color palette inspired by Tailwind CSS
Having issues? We're here to help!
- π§ Email: nadeeshamedagama@gmail.com
- π Bug Reports: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π± Social: @HabitTrackerApp
- Social features - Share progress with friends
- Habit templates and community suggestions
- Advanced analytics and insights
- Wearable device integration
- Habit coaching and tips
- Web application companion
- Team habit challenges
- Integration with health apps
- AI-powered habit recommendations
- Multi-language support
Made with β€οΈ for habit builders everywhere
β Star this repository if you found it helpful!
HabitTracker Β© 2024. All rights reserved.