|
| 1 | +> This is a personal side project created for educational purposes, aimed at helping me learn how to code by experimenting with AI tools like Claude Code. |
| 2 | +
|
| 3 | +# SofiaTracker 👶 |
| 4 | +SofiaTracker is a modern Android application designed to help parents track their baby's daily activities including sleeping, feeding, and diaper changes. Built with Jetpack Compose and following clean architecture principles, the app provides a seamless way to monitor your baby's patterns and maintain a digital log of important events. |
| 5 | + |
| 6 | +## 🎯 Purpose |
| 7 | +The app allows parents to: |
| 8 | +- Track baby's sleep patterns and duration |
| 9 | +- Record feeding events with bottle amounts |
| 10 | +- Log diaper changes with notes |
| 11 | +- View statistics and patterns over time |
| 12 | +- Sync data across devices using Firebase |
| 13 | +- Access data offline with local storage |
| 14 | + |
| 15 | +## 🏗️ Technical Specifications |
| 16 | + |
| 17 | +### Architecture |
| 18 | +- **Architecture Pattern**: Clean Architecture with modular structure |
| 19 | +- **UI Framework**: Jetpack Compose with Material 3 Design |
| 20 | +- **Dependency Injection**: Hilt |
| 21 | +- **Navigation**: Navigation Compose |
| 22 | +- **Build System**: Gradle with Kotlin DSL and Convention Plugins |
| 23 | + |
| 24 | +### Technology Stack |
| 25 | +- **Target SDK**: 35 (Android 14) |
| 26 | +- **Minimum SDK**: 26 (Android 8.0) |
| 27 | +- **Kotlin**: 2.1.10 |
| 28 | +- **Compose BOM**: 2024.04.01 |
| 29 | +- **Room Database**: 2.7.2 (local storage) |
| 30 | +- **Firebase**: 33.1.2 (cloud sync) |
| 31 | +- **WorkManager**: 2.9.1 (background sync) |
| 32 | +- **DataStore**: 1.0.0 (preferences) |
| 33 | + |
| 34 | +### Project Structure |
| 35 | +``` |
| 36 | +SofiaTracker/ |
| 37 | +├── app/ # Main application module |
| 38 | +├── core/ |
| 39 | +│ ├── data/ # Data layer with repositories |
| 40 | +│ ├── database/ # Room database entities and DAOs |
| 41 | +│ ├── datastore/ # SharedPreferences wrapper |
| 42 | +│ ├── designsystem/ # Theme and design components |
| 43 | +│ ├── domain/ # Use cases and domain models |
| 44 | +│ ├── model/ # Data models |
| 45 | +│ ├── network/ # Firebase integration |
| 46 | +│ └── ui/ # Shared UI components |
| 47 | +├── feature/ |
| 48 | +│ ├── home/ # Main tracking screens |
| 49 | +│ ├── settings/ # App settings |
| 50 | +│ └── statistics/ # Data visualization |
| 51 | +└── build-logic/ # Gradle convention plugins |
| 52 | +``` |
| 53 | + |
| 54 | +### Key Features |
| 55 | +- **Event Types**: Sleep, Eat (with bottle amounts), and Poop tracking |
| 56 | +- **Offline-First**: Local Room database with Firebase sync |
| 57 | +- **Background Sync**: WorkManager handles data synchronization |
| 58 | +- **Conflict Resolution**: Built-in sync conflict handling |
| 59 | +- **Modern UI**: Material 3 design with edge-to-edge display |
| 60 | + |
| 61 | +## 📄 License |
| 62 | + |
| 63 | +This project is licensed under the MIT License - see the LICENSE file for details. |
| 64 | + |
| 65 | +--- |
| 66 | + |
| 67 | +Built with ❤️ for parents tracking their little ones' precious moments. |
0 commit comments