Overview
The Sales Management App is an Android application built with Java that enables sales managers to coordinate with their sales teams, track inventory, analyze performance, and communicate in real-time.Technology Stack
Android SDK
Compiled with SDK version 26, minimum SDK 22
Firebase Suite
Authentication, Realtime Database, and Storage
Java
Primary development language
Material Design
Android Support Library v26.1.0
Package Structure
The application follows a feature-based package organization under the root packageproject.avishkar.salesmanagement:
Package Responsibilities
Registration Package
Registration Package
Handles user authentication and account creation for both sales managers and salespeople.Key Activities:
MainActivity- Entry point and login screenSignUpSalesManager- Manager registration flowSignUpSalesperson- Salesperson registration flow
Chat Package
Chat Package
Provides real-time messaging capabilities between managers and their teams.Key Components:
- Personal chat activities for managers and salespeople
- Group chat room functionality
- Message adapters and view holders for RecyclerView
- Real-time synchronization with Firebase Database
Graph Package
Graph Package
Implements data visualization for sales performance metrics.Features:
- MPAndroidChart library integration
- Separate views for managers and salespeople
- Performance tracking and trend analysis
Leaderboard Package
Leaderboard Package
Displays top-performing salespeople based on sales metrics.Implementation:
- Top ten sales rankings
- Real-time updates from Firebase
- Custom adapter for efficient list rendering
MyTeam Package
MyTeam Package
Allows managers to view and manage their sales team members.Functionality:
- Team roster display
- Individual performance monitoring
- Team-wide inventory tracking
Firebase Integration
The app leverages Firebase services for backend functionality:Core Firebase Dependencies
Firebase Service Usage
| Service | Purpose | Implementation |
|---|---|---|
| Authentication | User login and registration | Manages separate auth flows for managers and salespeople |
| Realtime Database | Store and sync data | User profiles, inventory, chat messages, leaderboard data |
| Storage | File uploads | Profile images, product images, documents |
| Cloud Messaging | Push notifications | Real-time alerts for messages and updates |
The app uses Firebase Realtime Database for real-time synchronization across all connected clients, ensuring instant updates for chat messages, inventory changes, and leaderboard rankings.
Application Configuration
Android Manifest
The app is configured with the following key permissions and activities:Key Libraries
The app integrates several third-party libraries for enhanced functionality:Chart library for rendering sales performance graphs and analytics
Efficient image loading and caching for profile pictures and product images
Enhanced alert dialogs for better user experience
List view with swipe actions for inventory and team management
Application Flow
Next Steps
Firebase Setup
Configure Firebase services and database rules
Data Models
Explore the core data models and their structure