A cross-platform React Native To-Do application with Firebase Authentication and Firestore integration. Users can register, login, create, edit, and delete their tasks in real-time. Built with Expo and styled using custom theming for a responsive and clean user experience.
Coming soon: APK download & demo GIF.
- 🔐 User Authentication (Email/Password via Firebase Auth)
- ✅ Real-Time To-Do Management using Firebase Firestore
- 🌗 Light/Dark Mode Support with a custom ThemeContext
- 📝 Edit & Delete Support with modal interaction
- 📱 Responsive UI for Android and Web (Expo-compatible)
- 🔒 Protected Routes (Login required to access main app)
- React Native with Expo
- Firebase Auth & Firestore
- TypeScript
- Modular file structure with separation of services, hooks, and styles
- Custom Theming using Context API
- EAS Build support for generating APKs locally
📁 app
├── _layout.tsx # Expo Router layout
├── Login.tsx # Login screen
├── Todo.tsx # Main To-Do screen
│
📁 services # Firestore and Auth logic
📁 hooks # Custom hooks (e.g. useAddToDo, useEditToDo)
📁 constants # ThemeContext and theme definitions
📁 styles # Modularized style files
📁 assets # Icons, splash, and images
git clone https://github.com/HDemir23/ToDo-App-Firebase.git
cd ToDo-App-Firebasenpm installCreate a .env file at the root and provide your Firebase project credentials:
EXPO_PUBLIC_apiKey=your_api_key
EXPO_PUBLIC_authDomain=your_project.firebaseapp.com
EXPO_PUBLIC_projectId=your_project_id
EXPO_PUBLIC_storageBucket=your_project.appspot.com
EXPO_PUBLIC_messagingSenderId=your_sender_id
EXPO_PUBLIC_appId=your_app_idnpx expo startTo generate an Android .apk file locally:
npx eas build --platform android --profile preview --localEnsure Android SDK is set up and
sdk.diris defined inandroid/local.properties.
- Add password reset
- Push notifications
- Firebase Analytics
- UI/UX polishing
A. Hakan Demir
GitHub • LinkedIn
This project is open-sourced under the MIT License.