117 lines
2.9 KiB
Markdown
117 lines
2.9 KiB
Markdown
# FitAI
|
|
|
|
Integrated AI solution for fitness houses and their clients.
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
fitai/
|
|
├── apps/
|
|
│ ├── admin/ # Next.js admin dashboard
|
|
│ └── mobile/ # React Native mobile app (Expo)
|
|
├── packages/
|
|
│ └── shared/ # Shared types and utilities
|
|
└── AGENTS.md # Development guidelines
|
|
```
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
- Node.js >= 18.0.0
|
|
- npm >= 9.0.0
|
|
|
|
### Installation
|
|
```bash
|
|
# Install root dependencies
|
|
npm install
|
|
|
|
# Install admin dependencies
|
|
cd apps/admin && npm install
|
|
|
|
# Install mobile dependencies
|
|
cd apps/mobile && npm install
|
|
```
|
|
|
|
### Development
|
|
```bash
|
|
# Start both apps together
|
|
npm run dev
|
|
|
|
# Or start individually:
|
|
# Admin dashboard (http://localhost:3000)
|
|
cd apps/admin && npm run dev
|
|
|
|
# Mobile app (http://localhost:8081) - Requires Expo SDK 54
|
|
cd apps/mobile && npm start
|
|
```
|
|
|
|
### Mobile App Setup
|
|
- **Expo SDK**: 50 (stable, compatible with Expo Go)
|
|
- **Assets**: Placeholder icons and splash screen included
|
|
- **Navigation**: Expo Router with tab-based layout
|
|
- **Authentication**: Secure storage with expo-secure-store
|
|
- **Babel**: babel-preset-expo for proper transpilation
|
|
|
|
### Known Compatibility Notes
|
|
- Use Expo Go with SDK 50 for mobile testing
|
|
- For SDK 54, upgrade all dependencies to latest versions
|
|
- Current setup prioritizes stability over latest features
|
|
|
|
### Build & Test
|
|
```bash
|
|
# Build all apps
|
|
npm run build
|
|
|
|
# Run tests
|
|
npm test
|
|
|
|
# Lint code
|
|
npm run lint
|
|
|
|
# Type checking
|
|
npm run typecheck
|
|
```
|
|
|
|
## Features
|
|
|
|
### Admin Dashboard
|
|
- Client management
|
|
- Payment tracking
|
|
- Attendance monitoring
|
|
- Data visualization
|
|
|
|
### Mobile App
|
|
- Client profile management
|
|
- Attendance tracking
|
|
- Payment notifications
|
|
- Fitness progress tracking
|
|
|
|
## Tech Stack
|
|
|
|
- **Admin**: Next.js 14, React 18, TypeScript, Tailwind CSS
|
|
- **Mobile**: React Native, Expo Router, TypeScript
|
|
- **Shared**: TypeScript, Zod for validation
|
|
- **State Management**: React Query, React Hook Form
|
|
- **Data Grid**: AG Grid for advanced user management
|
|
- **Charts**: AG Charts for analytics and visualization
|
|
|
|
## Features
|
|
|
|
### Admin Dashboard
|
|
- **User Management**: Advanced AG Grid with filtering, sorting, pagination
|
|
- **Analytics**: Interactive charts (line, pie, bar) with AG Charts
|
|
- **Data Export**: CSV export functionality
|
|
- **Real-time Updates**: Live user data synchronization
|
|
- **Responsive Design**: Mobile-first responsive interface
|
|
|
|
### Mobile App
|
|
- **Authentication**: Secure registration and login
|
|
- **User Profile**: Personal information management
|
|
- **Protected Routes**: Authentication-based navigation
|
|
- **Secure Storage**: Encrypted credential storage
|
|
|
|
### Data Visualization
|
|
- **User Growth**: Line chart showing user acquisition over time
|
|
- **Membership Distribution**: Pie chart of membership types
|
|
- **Revenue Analytics**: Bar chart for monthly revenue tracking
|
|
- **Key Metrics**: Real-time KPI dashboard |