Multi-Role System
Full Workflow Automation
Real-Time Notifications
Project Details
- Name:Masnaek
- Author:Alaa Ezz-eldin, Masnaek team
- Date:25 July, 2023
- Tags:android, notifications, kotlin, native
- Project link:Explore Masnaek
Masnaek is a full industrial-services mobile application that I developed using Android Native (Kotlin).
The app simulates a complete industrial city with five different user roles, each having its own workflow, permissions, and interface.
This project demonstrates my ability to build complex mobile architectures, role-based systems, real-time operations, and service-driven workflows inside a single ecosystem.
What I Built
✔ Full Android Native App (Kotlin)
Designed and developed the app entirely using Kotlin, Material Design, ViewModels, LiveData, Room (optional), Retrofit, and MVVM architecture.
✔ 5 Independent User Roles
I built a multi-role system inside a single mobile application:
-
Merchant
-
Factory
-
Technician
-
Driver
-
End Customer
Each role has:
-
its own dashboard
-
its own workflow
-
specific permissions
-
different UI interactions
-
dedicated screens and API calls
✔ Industrial Workflow Engine
The app handles real manufacturing/service cycles:
Request → Quote → Accept → Assign (Technician + Driver) → Execution → Delivery → Completion
Supported by:
-
state machine rules
-
validation
-
progress tracking
-
notifications
✔ Integrated Service Sectors
Built full support for multiple manufacturing industries:
-
Iron
-
Glass
-
Wood
-
Aluminum
-
Accessories
Each industry has:
-
Categories
-
Sub-services
-
Attachments
-
Notes
-
Extra options
✔ Real-Time Notifications
Using Firebase Cloud Messaging (FCM):
-
New requests
-
Status updates
-
Assignment updates
-
Driver arrival
-
Technician acceptance
-
Completion notifications
✔ Advanced UI & Loaders
Implemented:
-
Custom animated loaders
-
Smooth transitions
-
Bottom sheets
-
Dialog interactions
-
Dynamic content rendering
✔ API Integration
Connected to a Laravel backend via Retrofit + JWT authentication, with:
-
structured models
-
caching strategy
-
error handling
-
retries for unstable connections
✔ WebView for Additional Dynamic Content
Used WebView for:
-
policies
-
dynamic pages
-
documentation
-
some info screens that update without app updates
✔ Driver & Technician Features
-
Live location reading
-
Directions
-
Accept/reject jobs
-
Uploading images before & after
-
Task timelines
✔ End Customer Flow
-
Submit request
-
Select industry
-
Add photos
-
Track request progress
-
Receive quotes
-
Assign preferred technician or factory
Challenges I Solved
-
Designing multi-role UX without confusing the user
-
Maintaining clean architecture with 5 role-based flows
-
Optimizing background tasks and network requests
-
Handling large numbers of state transitions
-
Ensuring fast performance despite complexity
-
Building push notification logic for each role separately
What This Project Demonstrates About My Skills
-
Strong experience in Android Native development
-
Designing complex workflows for real operations
-
Clean, scalable mobile architecture (MVVM)
-
Role-management and permission-based UX
-
Connectivity, APIs, background jobs, notifications
-
Building apps ready for real industrial environments
