Admin and Employee Management Android Application
Designed to manage employees, tasks, and finances for CSKS Creatives
- 🔐 Role-based access: Admin / Employee
- 📬 Real-time notifications with Firebase Cloud Messaging
- 🧾 Financial dashboards: View payments, dues, and summaries
- ⏱️ Employee performance tracking via task time logs
- 🗂️ Task status workflow (similar to Jira): Backlog → In Progress → Review → Revision → Completed
- 🧮 Payment tracking with support for Partial / Full payments
- 📅 Leave request & approval system
- 🔍 Filter and search tasks by status, priority, or keywords
- 💾 Offline-first with persistent login via local cache
- 📈 Client-wise and Admin-wise monthly/yearly financial insights
Login is required for both roles. Session is cached locally until logout.
- Admin
- Employee
- Add, edit, and manage employees and clients.
- Create tasks and assign them to specific clients and employees.
- Reassign tasks to different employees. Notifications sent to both old and new assignees.
- Add comments to tasks (assignee receives notification).
- Edit all task details.
- Task Title
- Task Description
- Estimated Duration
- Task Cost
- Task Priority (Critical, High, Medium, Low)
- Task Status
Backlog
→In Progress
→In Review
→Revision N
→Completed
Blocked
can occur at any stage
- Mark tasks as:
Not Paid
Partially Paid
(Track multiple partial payments)Fully Paid
(Automatically marked when total received)
- View overall finances (Year-wise / Month-wise)
- View client-specific financials (Year-wise / Month-wise)
- Track time taken per task
- Filter and analyze performance data
- Search and filter tasks by:
- Paid Status
- Task Status
- Priority
- Description
- Approve or reject employee leave requests
- When:
- Employee changes task status
- Employee comments on a task
- Employee requests/re-requests/withdraws leave
- View current and completed tasks
- Change task status (except financial fields)
- Comment on tasks
- Request leave
- Re-request if rejected
- Withdraw future leave requests
- When:
- Admin approves/rejects leave
- Admin assigns a task
- Admin comments on assigned task
Built using Layered Architecture for clean separation of concerns:
- Jetpack Compose-based Screens
- App Navigation
- ViewModels for state management
- Use Cases
- Business Models
- Repositories
- Data Sources:
- Remote: Firebase Firestore
- Local: RoomDB (Offline-first architecture)
- Managed using Dagger Hilt
Cloud backend logic handled via Firebase Functions
Handles data syncing, notifications, and performance optimization
👉 CSKS_CREATIVES_CLOUD_FUNCTIONS (GitHub)
Follow these steps to run the project locally on your machine:
- Android Studio Giraffe or later
- Firebase account
- Firebase Project with Billing Enabled
(Required for Cloud Functions, Firestore Triggers, and Notifications)
git clone https://github.com/your-username/csks-creatives-management.git
cd csks-creatives-management
Set Up Firebase
Go to Firebase Console
Create a new Firebase project or use an existing one
Enable Billing on your Firebase project
Enable the following Firebase services:
🔥 Firestore Database
🔐 Firebase Authentication
📲 Cloud Messaging
4. Add google-services.json
In Firebase Console:
Go to Project Settings > General
Download google-services.json for your Android app
Place it in the root of your project’s /app folder
Clone the [CSKS_CREATIVES_CLOUD_FUNCTIONS (GitHub)](https://github.com/TharunDharmaraj/CSKS_CREATIVES_CLOUD_FUNCTIONS) repo, deploy it in Cloud Console
Commands to deploy the Cloud Function, by navigating to the repo folder
For 1st Time Setup:
- npm install -g firebase-tools
- npm install firebase-admin firebase-functions
- firebase init firestore
- firebase init functions
After that:
- firebase init
- firebase login
- firebase deploy --only functions
5. Run the App
For business inquiries or demo requests, please contact CSKS Creatives