Podology Premium is a complete mobile booking and client management system designed for the "PODOLOG KUTSYTOI" podology center. The platform consists of a Flutter-based mobile application (iOS and Android) and a robust NestJS backend, seamlessly integrated with the YCLIENTS CRM and Telegram for real-time communication.
- Mobile Client App: Native iOS and Android applications built with Flutter, offering a premium user experience for clients.
- YCLIENTS CRM Integration: Full synchronization with YCLIENTS for services, specialists, schedules, and booking creation.
- Real-time Chat: WebSocket-powered chat between clients and clinic staff, bridged with Telegram for administrative support.
- Booking Flow: Comprehensive booking system allowing clients to select services, specialists, dates, and times.
- Care Card: Digital care cards for patients to track post-procedure instructions.
- Dual Mode Operation: Supports a local development mode (using real YCLIENTS/Telegram APIs but local authentication) and a full production mode for public release.
- Content Management: Dynamic home screen content management via the backend.
The system follows a thin-backend proxy architecture, where the backend acts as a secure middleware between the mobile clients and external services (YCLIENTS, Telegram).
| Component | Technology Stack | Description |
|---|---|---|
| Mobile App | Flutter (Dart) | Cross-platform client application handling UI, navigation, and local state. |
| Backend API | Node.js, NestJS (TypeScript) | RESTful API and WebSocket server managing authentication, YCLIENTS proxying, and chat logic. |
| Database | PostgreSQL (Production) | Stores user profiles, chat history indexes, and technical booking data. |
| CRM | YCLIENTS | The system of record for services, staff, and actual booking records. |
| Communication | Telegram Bot API | Used for chat bridging and administrative notifications. |
- Node.js 24+ (for the backend)
- Flutter SDK 3.4.0+ (for the mobile app)
- PostgreSQL 16 (for production) or SQLite (for development)
- YCLIENTS API Credentials
- Telegram Bot Tokens
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Configure environment variables by copying the appropriate example file:
cp ../.env.example ../.env # or for local development with real integrations: cp ../.env.laptop-real.example ../.env - Start the server:
npm run start:dev
- Navigate to the mobile directory:
cd mobile_flutter - Install Flutter dependencies:
flutter pub get
- Run the application:
flutter run
For production deployment, the project includes Docker Compose configurations.
- Review
.env.production.exampleand configure all required variables. - Run the production check script:
powershell -NoProfile -ExecutionPolicy Bypass -File ./scripts/CHECK_PRODUCTION_READY.ps1
- Start the services:
docker-compose -f docker-compose.production.yml up -d
- Mobile: Flutter, Dart
- Backend: Node.js, NestJS, TypeScript, Socket.IO
- Database: PostgreSQL
- Infrastructure: Docker, Docker Compose
This project is licensed under the MIT License.