Skip to content

TharunDharmaraj/CSKS_CREATIVES_MANAGEMENT

Repository files navigation

📱 CSKS Creatives Management

Admin and Employee Management Android Application
Designed to manage employees, tasks, and finances for CSKS Creatives


📌 Features At a Glance

  • 🔐 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

👥 User Roles

Login is required for both roles. Session is cached locally until logout.

  • Admin
  • Employee

🔐 Admin Privileges

✅ Employee & Client Management

  • Add, edit, and manage employees and clients.

✅ Task Management

  • 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 Fields Include:

  • Task Title
  • Task Description
  • Estimated Duration
  • Task Cost
  • Task Priority (Critical, High, Medium, Low)
  • Task Status

📈 Task Status Flow (Jira-like):

  • BacklogIn ProgressIn ReviewRevision NCompleted
  • Blocked can occur at any stage

💰 Payment Tracking

  • Mark tasks as:
    • Not Paid
    • Partially Paid (Track multiple partial payments)
    • Fully Paid (Automatically marked when total received)

📊 Financial Overview

  • View overall finances (Year-wise / Month-wise)
  • View client-specific financials (Year-wise / Month-wise)

🧑‍💼 Employee Performance Tracking

  • Track time taken per task
  • Filter and analyze performance data

🔍 Advanced Search & Filters

  • Search and filter tasks by:
    • Paid Status
    • Task Status
    • Priority
    • Description

🗓️ Leave Management

  • Approve or reject employee leave requests

🔔 Notifications

  • When:
    • Employee changes task status
    • Employee comments on a task
    • Employee requests/re-requests/withdraws leave

👨‍💼 Employee Privileges

📋 Task Interaction

  • View current and completed tasks
  • Change task status (except financial fields)
  • Comment on tasks

🗓️ Leave Management

  • Request leave
  • Re-request if rejected
  • Withdraw future leave requests

🔔 Notifications

  • When:
    • Admin approves/rejects leave
    • Admin assigns a task
    • Admin comments on assigned task

🧠 App Architecture

Built using Layered Architecture for clean separation of concerns:

🔹 UI Layer

  • Jetpack Compose-based Screens
  • App Navigation
  • ViewModels for state management

🔹 Domain Layer

  • Use Cases
  • Business Models

🔹 Data Layer

  • Repositories
  • Data Sources:
    • Remote: Firebase Firestore
    • Local: RoomDB (Offline-first architecture)

🧩 Dependency Injection

  • Managed using Dagger Hilt

🔗 Cloud Functions Repository

Cloud backend logic handled via Firebase Functions
Handles data syncing, notifications, and performance optimization

👉 CSKS_CREATIVES_CLOUD_FUNCTIONS (GitHub)


🚀 How to Run

Follow these steps to run the project locally on your machine:

🔧 Prerequisites

  • Android Studio Giraffe or later
  • Firebase account
  • Firebase Project with Billing Enabled
    (Required for Cloud Functions, Firestore Triggers, and Notifications)

🛠️ Steps

1. Clone the Repository

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

About

Admin and Employee Management Android Application

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages