LuvDays is a beautiful and feature-rich React Native mobile application designed to help couples track and celebrate their relationship milestones. Built with Expo and React Native, it offers a modern, intuitive interface with customizable themes and backgrounds.
- Anniversary Counter: Track the number of days you've been together
- Partner Profiles: Create and customize profiles for both partners
- Milestone Tracking: Celebrate important relationship milestones
- Calendar Integration: Plan and track special dates and events
- Memories Collection: Save and organize your special moments
- Places Tracker: Remember and revisit special locations together
- Customizable Themes: Choose from multiple color themes and backgrounds
- Responsive Design: Works on both iOS and Android devices
- Framework: React Native with Expo
- Navigation: Expo Router
- State Management: Zustand
- UI Components: Custom components with React Native
- Storage: AsyncStorage for local data persistence
- Styling: React Native StyleSheet with dynamic theming
LuvDays/
├── app/ # Main application screens
│ ├── (tabs)/ # Tab-based navigation screens
│ │ ├── index.tsx # Home screen with counter
│ │ ├── calendar.tsx # Calendar and events
│ │ ├── memories.tsx # Memories collection
│ │ ├── places.tsx # Special places tracker
│ │ └── settings.tsx # App settings
├── components/ # Reusable UI components
├── constants/ # App constants and theme definitions
├── stores/ # Zustand state management
├── utils/ # Utility functions
├── assets/ # Images and other static assets
└── hooks/ # Custom React hooks
- Node.js (v14 or newer)
- npm or yarn
- Expo CLI
-
Clone the repository:
git clone https://github.com/anvng/LuvDays.git cd LuvDays
-
Install dependencies:
npm install # or yarn install
-
Start the development server:
npm start # or yarn start
-
Run on your device or emulator:
- Press
i
for iOS simulator - Press
a
for Android emulator - Scan the QR code with the Expo Go app on your physical device
- Press
- Counter: Displays the number of days since your relationship started
- PartnerEditModal: Allows editing partner information
- MilestoneCard: Shows upcoming relationship milestones
- CalendarEventModal: Manages calendar events and dates
- MemoryCard: Displays saved memories with photos and descriptions
- PlaceCard: Shows special places you've visited together
- ThemeModal: Customizes app appearance
The app uses Zustand for state management with several stores:
- counterStore: Manages relationship start date and partner information
- themeStore: Handles app theming and appearance
- calendarStore: Manages calendar events
- memoriesStore: Stores relationship memories
- placesStore: Tracks special places
- settingsStore: Manages app settings
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Icons provided by Lucide Icons
- Built with Expo and React Native