Initial Flutter scaffold: Riverpod + GoRouter + Dio
This commit is contained in:
107
README.md
Normal file
107
README.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# Network App Mobile
|
||||
|
||||
Flutter mobile app for The Network App — an AI-powered CRM for wealth management advisors.
|
||||
|
||||
## Stack
|
||||
|
||||
- **Framework:** Flutter 3.x
|
||||
- **State Management:** Riverpod
|
||||
- **Navigation:** GoRouter
|
||||
- **HTTP Client:** Dio
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [Flutter](https://flutter.dev/docs/get-started/install) 3.16+
|
||||
- iOS: Xcode 15+ (for iOS builds)
|
||||
- Android: Android Studio with SDK
|
||||
|
||||
### Setup
|
||||
|
||||
1. Clone the repo:
|
||||
```bash
|
||||
git clone https://git.infra.nkode.tech/hammer/network-app-mobile.git
|
||||
cd network-app-mobile
|
||||
```
|
||||
|
||||
2. Create platform files (first time only):
|
||||
```bash
|
||||
flutter create . --project-name network_app
|
||||
```
|
||||
|
||||
3. Install dependencies:
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
4. Run code generation:
|
||||
```bash
|
||||
dart run build_runner build
|
||||
```
|
||||
|
||||
5. Run the app:
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
### Environment
|
||||
|
||||
Configure the API URL at build time:
|
||||
```bash
|
||||
flutter run --dart-define=API_BASE_URL=https://your-api.com
|
||||
```
|
||||
|
||||
Or edit `lib/config/env.dart` for development.
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
lib/
|
||||
├── main.dart # Entry point
|
||||
├── app/
|
||||
│ ├── app.dart # MaterialApp setup
|
||||
│ └── router.dart # GoRouter configuration
|
||||
├── config/
|
||||
│ ├── env.dart # Environment config
|
||||
│ └── theme.dart # App theming
|
||||
├── features/
|
||||
│ ├── auth/ # Login/Register
|
||||
│ ├── clients/ # Client management
|
||||
│ ├── emails/ # AI email generation
|
||||
│ └── events/ # Event tracking
|
||||
└── shared/
|
||||
├── providers/ # Global Riverpod providers
|
||||
├── services/ # API client, storage
|
||||
└── widgets/ # Reusable components
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- [x] Authentication (login/register)
|
||||
- [x] Client list with search
|
||||
- [x] Client detail view
|
||||
- [x] Client create/edit form
|
||||
- [x] AI email generation
|
||||
- [x] Email drafts and sent
|
||||
- [x] Upcoming events view
|
||||
- [ ] Push notifications
|
||||
- [ ] Offline support
|
||||
|
||||
## Building
|
||||
|
||||
### Android
|
||||
```bash
|
||||
flutter build apk --release
|
||||
# or for app bundle:
|
||||
flutter build appbundle --release
|
||||
```
|
||||
|
||||
### iOS
|
||||
```bash
|
||||
flutter build ios --release
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
This app connects to `network-app-api`. See that repo for backend setup.
|
||||
Reference in New Issue
Block a user