Skip to content

An Android Task Manager app that helps users whether they are admins, manager or employees create, update, and organize tasks efficiently. The app interacts with a .NET-powered backend for data storage and synchronization. Built with modern Android development practices, featuring a clean UI, state management, and offline support.

Notifications You must be signed in to change notification settings

BERLINx03/task-manager-android

Repository files navigation

Task Manager

A comprehensive Android application for company task management with role-based access control. This application allows administrators to manage departments and users, managers to create and assign tasks, and employees to view and complete assigned tasks.

Dashboard Screen

Features

  • Role-based Access Control: Three-tiered authorization system:

    • Administrators: Full system access, department creation, user management
    • Managers: Task creation and assignment, department oversight
    • Employees: Task viewing and completion
  • Department Management:

    • Create and modify departments
    • View department details and members

    Add Department Department Details

  • User Management:

    • Create user accounts
    • Edit user profiles
    • Ban/disable user accounts

    Create Employee Account Employees List Edit Profile Delete Profile

  • Task Management:

    • Create and assign tasks to employees
    • Track task completion status
    • View tasks by department or employee

    Tasks Task Details Tasks Assigned to Employee Tasks Managed by Manager Choosing Employee in Add Task

  • Authentication:

    • Secure login system
    • Role selection interface

    Login Screen Role Selection Screen

  • User Interface:

    • Profile management screens
    • Managers overview dashboard

    Profile Screen Managers

  • Settings:

    • Application configuration options

    App Settings

Technical Implementation

Key Technologies

  • Collaboration with .NET Backend: Backend developed in collaboration with Abdelrahman548.
  • Architecture: Clean Architecture, MVI (Model-View-Intent)
  • Android: Kotlin, Jetpack Compose
  • Backend: .NET (C#)
  • Authentication: JWT
  • Networking: Retrofit2
  • Database: Room (Local), DataStore Preferences
  • Internationalization: Full support for Arabic locale
  • UI Features:
    • Animated navigation transitions
    • Splash screens

Architecture & Design Patterns

  • Clean Architecture: Separation of concerns with distinct layers:

    • Presentation layer (UI)
    • Domain layer (Business logic)
    • Data layer (Repository & Data sources)
  • MVI (Model-View-Intent): Unidirectional data flow for predictable state management

  • Nested Navigation: Optimized navigation framework to save memory from unnecessary ViewModel instances

Technical Stack

  • Dependency Injection:

    • Hilt for dependency management
  • Concurrency:

    • Kotlin Coroutines for asynchronous operations

Backend Integration

This Android application connects to a .NET backend service (not included in this repository). The backend handles:

  • User authentication and authorization
  • Data persistence
  • Business logic validation

About

An Android Task Manager app that helps users whether they are admins, manager or employees create, update, and organize tasks efficiently. The app interacts with a .NET-powered backend for data storage and synchronization. Built with modern Android development practices, featuring a clean UI, state management, and offline support.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages