It consists of two separate apps—one for customers and one for service providers. Let's break down the features and functionalities of each app:
Customer App:
1. Registration and Verification: Customers register using their phone number and complete the verification process.
2. Profile Creation: Customers provide their full details to create a profile, including personal information.
3. Service Selection: Customers choose services and their subcategories based on their city and district.
4. Date, Time, and Location Selection: Customers select the desired date, time, and location for the service.
5. Service Provider Types: Customers can select between individual service providers or company employees.
6. Pre-Visit Scheduling: If a pre-visit is necessary, customers can select a date and time for the service provider to visit.
7. Task Creation: Customers create tasks by providing all relevant details, including a bid amount for the service provider.
8. Task Status: Tasks initially move to the customer's pending task list and then to pending scheduled tasks after acceptance.
9. Task Details: Customers can view task details, check service provider ratings and portfolios, and interact with the service provider via comments, chat, or VOIP calls.
10. Task Completion and Feedback: After the task is completed, customers can rate the service provider and provide feedback. Completed tasks are stored in the history section.
Service Provider App:
1. Registration and Verification: Service providers register using their phone number and complete the verification process.
2. Profile Creation: Service providers provide detailed information, including their service and service subcategory, password, type, portfolio, experience, education, and select city and district.
3. Job Board: Service providers can view all available tasks from customers in the same city and district.
4. Bid Submission: Service providers can post bids or directly accept tasks from the job board.
5. Task Status: Posted bids move tasks to the pending status, while accepted tasks move to the scheduled status.
6. Task Details: Service providers can access task details, including information about the customer and the task requirements.
7. Milestone Creation: Service providers can create up to five milestones for each task, marking their progress.
8. Payment: Customers can pay according to the completed milestones, and the service provider receives payment accordingly.
9. Task Completion and History: After completing the task, it moves to the history section.
As a senior Android developer, your role in this project involves developing and maintaining both the Customer and Service Provider apps, ensuring the smooth functioning of all features, implementing the required functionalities, and addressing any bugs or issues.
Android Studio, Java, Web Socket IO, AWS services, Cloud Computing, Social Media integrations, Firebase, Notification, Twilio, Jira.
As the senior Android developer working on the Service Provider app, your responsibilities include adding the remaining features, integrating payment systems, performing bug fixes, and ensuring the overall stability and functionality of the app. Additionally, you mentioned the use of various technologies and integrations in the project. Here's a breakdown of the technologies you mentioned:
1. Android Studio and Kotlin: These are the primary tools and programming language for developing the Android app. Android Studio provides the development environment, while Kotlin is the programming language used for writing the app's code.
2. Web Socket IO: Web Socket IO is a technology that enables real-time bidirectional communication between the client (app) and the server. It can be used to implement real-time chat functionality or any other real-time interactions within the app.
3. AWS Services: Amazon Web Services (AWS) provides a wide range of cloud computing services that can be leveraged in your project. This may include services like AWS Lambda for serverless functions, Amazon S3 for file storage, or Amazon EC2 for hosting the backend infrastructure.
4. Cloud Computing: Cloud computing refers to the delivery of computing services over the internet. It enables scalability, flexibility, and easy access to resources. You might utilize cloud computing services to host the backend infrastructure or handle large-scale data processing.
5. Social Media Integrations: Integrating with social media platforms allows users to log in or share content using their social media accounts. This integration can enhance user experience and increase user engagement. Popular social media platforms for integration may include Facebook, Twitter, or Instagram.
6. Firebase: Firebase is a comprehensive mobile and web development platform provided by Google. It offers a range of services such as authentication, real-time databases, cloud messaging, and hosting. You may leverage Firebase services for features like user authentication, real-time updates, push notifications, and data storage.
7. Notification: Implementing push notifications enables you to send important updates or alerts to users even when the app is not actively running. Services like Firebase Cloud Messaging or Twilio can be used to handle push notifications in your app.
8. Twilio: Twilio is a cloud communication platform that provides APIs for programmable voice, video, and messaging services. It can be used to facilitate communication features such as VOIP calls or SMS verification in your app.
9. Jira: Jira is a popular project management and issue tracking tool. It helps with organizing tasks, tracking progress, and facilitating collaboration among team members.
As the senior Android developer, you will utilize these technologies, frameworks, and services to implement the remaining features, integrate payment systems, and address any bugs or issues that arise during the development process. Regular testing, code reviews, and collaboration with the team will contribute to delivering a robust and high-quality Service Provider app.