Lahmacun Tracker is a mobile application built with Expo and React Native, designed to help you track your habits and recovery journeys, celebrate your progress with milestones, and find daily inspiration through wisdom quotes.
- Customizable Trackers:
- Create trackers for habits you want to build or addictions you want to overcome.
- Clearly view the time elapsed since your start date with dynamic time badges.
- See daily progress towards the next 24-hour cycle.
- Easily edit, reset, or delete trackers as needed.
- Milestone Celebration:
- Automatically see "Just for Today" achievements for ongoing efforts.
- Celebrate significant milestones (e.g., 24 hours, 1 week, 30 days, 6 months, 1 year, and subsequent years) for each tracker.
- Receive motivating messages tailored for each milestone reached.
- Daily Wisdom Quotes:
- Discover a new inspirational quote each day to support your journey.
- Option to refresh and view other quotes from a curated collection.
- Enjoy a calm and focused reading experience.
-
Prerequisites:
-
Clone the Repository:
git clone git@github.com:keremgokhan/lahmacun-tracker2.git cd lahmacun-tracker2 -
Install Dependencies: Navigate to the project directory in your terminal and run:
npm install
or if you prefer Yarn:
yarn install
-
Start the Development Server: Once dependencies are installed, start the Expo development server:
npx expo start
This command will:
- Start the Metro bundler.
- Open a new tab in your web browser with the Expo Developer Tools.
- Display a QR code in the terminal and in the Expo Developer Tools.
-
Running the App:
- On a Physical Device (iOS or Android):
- Install the Expo Go app from the App Store or Google Play Store on your device.
- Scan the QR code shown in the terminal or Expo Developer Tools using the Expo Go app.
- On an Android Emulator:
- Ensure you have an Android emulator set up and running.
- Press
ain the terminal wherenpx expo startis running.
- On an iOS Simulator (macOS only):
- Ensure you have Xcode and its command-line tools installed.
- Press
iin the terminal wherenpx expo startis running.
- In a Web Browser:
- Press
win the terminal wherenpx expo startis running. (Note: Web compatibility may vary based on specific native modules used).
- Press
- On a Physical Device (iOS or Android):
- Expo SDK
- React Native
- TypeScript
- Expo Router for file-based navigation
- AsyncStorage for local data persistence
- FontAwesome5 for icons
app/: Contains all the screens and navigation logic using Expo Router.(tabs)/: Defines the main tab-based navigation screens (Trackers, Milestones, Quotes)._layout.tsx: Layout for the tab navigator.index.tsx: Trackers screen (your main screen for listing trackers).milestones.tsx: Milestones screen.quotes.tsx: Daily quotes screen.
_layout.tsx: Main app layout, potentially for global providers or styles.edit-tracker.tsx: Screen for creating and editing trackers.modal.tsx: A general modal screen, as per Expo's default structure (can be customized or removed if not used).
assets/: Static assets like images and fonts.images/: App icons, background images (e.g.,nature_green_background.png).fonts/: Custom fonts if any (e.g., SpaceMono-Regular.ttf from default).
components/: Reusable UI components.ThemedText.tsx,ThemedView.tsx: Basic themed UI elements.TrackerCard.tsx: Component for displaying individual trackers.MilestoneCard.tsx: Component for displaying achieved milestones.
constants/: Global constants.Colors.ts: Defines the light and dark mode color palettes.
hooks/: Custom React hooks.useColorScheme.ts: Hook to get the current color scheme.
types/: TypeScript type definitions for the application (types.ts).utils/: Utility functions.timeUtils.ts: Functions for formatting time differences and calculating milestones.
README.md: This file!package.json: Project dependencies and scripts.tsconfig.json: TypeScript configuration.babel.config.js: Babel configuration.app.json: Expo app configuration file.
Thank you for checking out Lahmacun Tracker! We hope it helps you on your journey of self-improvement.