About the project
Watan App is a multi-platform content and entertainment super app designed to bring movies, TV series, music, novels, communities, digital commerce, and user services together within a unified ecosystem.
The platform was designed and developed from the ground up with a strong focus on Persian user experience, performance, security, scalability, and centralized content management.
The client application is built with Flutter and Dart, while a dedicated backend based on FastAPI and Python acts as the central layer between the application, databases, payment services, and multiple independent content sources.
One of the most significant technical challenges was integrating data from several independent content platforms while maintaining a consistent experience for end users. A centralized data layer was therefore developed to retrieve, normalize, clean, and transform incoming content into a unified application data model.
This architecture allows users to interact with Watan as a single independent product without being exposed to differences between the underlying content providers.
The movie and TV section supports categories, genres, collections, seasons, and continuously updated episodes. A dedicated video player includes playback controls, SoftSub support, and subtitle size and position customization.
The music module includes automatic audio quality selection, continuous playback, and mobile-style playback controls. Users can also rate and review content, maintain favorites, access viewing history, continue previously started content, and build a personal library.
Authentication is based on mobile numbers and OTP verification, with secure session persistence and separate permission levels for regular users, authors, and administrators.
A dedicated author platform allows writers to create works, publish chapters and episodes, upload files and images, and manage their content and revenue.
The community system provides advanced private discussion spaces with administrator approval, paid memberships, configurable roles, custom permissions, member management, moderation tools, content filtering, community rules, and private chat rooms.
Watan also includes a complete digital commerce infrastructure with a store, user wallet, custom amount payments, subscription capabilities, and integration with Zibal and Zarinpal payment gateways.
Two equivalent administration environments were implemented: an administration interface inside the application and a responsive web-based management panel. Both provide access to user management, authors, content, communities, transactions, wallets, withdrawals, discounts, advertising, notifications, and system synchronization.
Firebase Cloud Messaging powers the notification infrastructure and supports both global and targeted Push Notifications.
Security was incorporated into the architecture from the beginning. Sensitive API requests can be validated using HMAC signatures, timestamps, and nonces, while sensitive values and OTP codes are stored using secure hashing. Rate limiting and cooldown mechanisms are also applied based on user identity, phone number, and IP address.
Caching, request deduplication, progressive loading, and independent page loading states were implemented to improve performance and reduce unnecessary resource consumption.
The infrastructure is containerized using Docker and Docker Compose, with Nginx handling reverse proxy operations, HTTPS, and domain routing. PostgreSQL serves as the primary database for users, transactions, payments, and administrative information.
The user interface follows a custom purple and blue visual identity with Glassmorphism elements, complete RTL support, responsive layouts, and both light and dark themes.
Features and capabilities
- Cross-platform Flutter application
- Central FastAPI backend
- Multi-service architecture
- Multiple content source integration
- Centralized data normalization
- Mobile number authentication
- OTP authentication
- Secure session persistence
- Role-based access control
- User accounts
- Author accounts
- Administrator accounts
- Movie and TV streaming
- Genre and collection management
- Season and episode support
- Custom video player
- SoftSub subtitle support
- Subtitle customization
- Music streaming
- Automatic audio quality selection
- Continuous music playback
- Ratings and reviews
- Favorites
- Viewing history
- Continue watching
- Personal content library
- Digital store
- User wallet
- Custom amount payments
- Subscription infrastructure
- Zibal payment gateway integration
- Zarinpal payment gateway integration
- Two-way ticketing system
- Firebase Push Notifications
- Targeted notifications
- Light and dark themes
- Full RTL interface
- Responsive UI
- Glassmorphism design
- Progressive loading
- Independent loading states
- Caching system
- Request deduplication
- Dedicated author dashboard
- Novel publishing system
- Chapter and episode management
- Author revenue management
- Community creation workflow
- Paid community memberships
- Custom community roles
- Role-based permissions
- Member management
- Moderation tools
- Content filtering
- Private community chat
- In-app administration panel
- Web administration panel
- User management
- Content management
- Transaction management
- Wallet management
- Withdrawal management
- Discount code management
- Video advertising management
- Download domain management
- Content access management
- Service monitoring
- Synchronization management
- HMAC request signing
- Timestamp validation
- Nonce validation
- Secure hashing
- Rate limiting
- Cooldown protection
- IP-based request control
- Docker deployment
- Nginx Reverse Proxy
- Scalable backend architecture