Clean Clothes: solution for convenient laundry service.
Abstract
Clean Clothes is a groundbreaking application crafted to assist busy individuals with their laundry tasks. Have you ever experienced the overwhelming feeling of being swamped with work, causing you to forget about your laundry duties? If so, you’re not alone. Clean Clothes is a user-friendly solution designed to alleviate the stress and time constraints associated with laundry chores.
Author
Name: [Sai Karthikeya Vemulapalli]
Student number: 47812495
Functionality
Features:
-
User Registration:
- Users can create their own account to provide information like address and preferences.
- Users can log in to the application to provide access to the necessary permissions.
- Users can create accounts using any of the existing social platforms
- Users can delete their accounts or choose to pause them.
-
Laundry Scheduling
- Users can order a laudry service on the spot based on the provided roster of free pick up timings.
- Users can schedule a laundry service 24 hrs prior for guarenteed pick up.
- Users can use their saved address for easy pick ups.
- Users can choose their laundry type before scheduling a laundry(ex: delicate,normal,sweaters etc).
-
Order Tracking
- Users can track their order status at all times using the application
- Users can cancel(with charges) at any time to have their clothes delivered back as soon as possible.
- Users can modify their laundry type via order tracking anytime before the washing process starts.
- Users can go pick up their clothes from the washing location if notified through the order tracking page(or wait for delivery).
-
Payment processing
- All the payments are guaranteed and the user can claim their money back if any dispute over damage is brought up.
- Payment methods can be saved for future use
- Payment changes as per clothing and laundry type
-
Customer support
- Users can contact customer support at any time to find details about their clothes
- Users can raise any disputes they have with the wash or cloth quality after the delivery to avail further means.
- User can schedule a pick up for clothes instead of delivery after contacting a customer service agent.
Scope
The scope of the MVP system is :
-
User Registration
- Simple and basic user account to hold user information with lightweight user authentication process(ex:firebase authentication by google)
-
Laundry Scheduling
- simple order service backed by a system to store all your orders.
- Using a job management package like celery etc
- simple order service to choose different options of laundry types.
-
Order Tracking
- simple order tracking to show all your orders in one place(no location tracking) just the status of the order
like processing, washing, out for delivery etc.
-
Payment processing
- just a payment storage service for checkouts no need for an in-depth responsive payment service.
Quality Attributes
-
Availability:
- Clean Clothes ensures easy access for end users regardless of the time or platform they use to access the application. For example, a user should be able to log in to Clean Clothes and schedule a laundry pickup at any time of the day, whether they are using a desktop computer, a phone, or a tablet. The application’s architecture and reliable hosting services minimize downtime, ensuring that users can access Clean Clothes whenever they need it, without interruptions or delays.
-
Deployability:
- Clean Clothes offers easy provisioning of the necessary computing infrastructure, making it simple to set up and maintain the application. For instance, deploying Clean Clothes on a cloud platform such as Amazon Web Services (AWS) or Microsoft Azure allows for quick scalability and resource allocation based on demand. Additionally, updates to both the infrastructure and the software can be seamlessly rolled out without causing disruptions to the service. For example, when new features are added to Clean Clothes, they can be deployed smoothly, ensuring that users can continue to access the application without any downtime.
-
Extensibility:
- Clean Clothes is designed to support the addition of new features or extensions over its lifespan, allowing for improvement and adaptation. For instance, suppose Clean Clothes initially offers basic laundry scheduling functionality. In that case, the software architecture is flexible enough to accommodate the integration of additional features such as payment processing, order tracking, or customer support functionalities without requiring significant rework. This extensibility ensures that Clean Clothes can grow and evolve.
Evaluation
Availability Evaluation:
-
Measure a base uptime using automated metric monitors to monitor and gauge the base uptime and downtime trends
, this can be considered the load of the system and these metrics can be used for testing purposes.
-
Conduct user feedback surveys to gain insight into user satisfaction and identify areas for improvement.
Objective: The availability evaluation aims to understand a basic metric for downtime and uptime to monitor if the system is not responding as expected. Additionally, user feedback is gathered to assess customer satisfaction and identify opportunities for optimization.
Deployability Evaluation:
- Check the deployment process using deployment tests to understand the system’s performance post-deployment.
- Utilize user feedback from stakeholders to pinpoint areas for optimization in the deployment stage.
- Evaluate deployment across different platforms to ensure smooth functioning and identify potential sources of
increased downtime.
Objective: The deployability evaluation focuses on assessing the effectiveness of the deployment process and identifying opportunities for improvement to ensure smooth and efficient deployment across various platforms.
Extensibility Evaluation:
- Introduce mock features to test the ease of extending the software.
- Assess the impact of added mock features on downtime and deployment trends.
Objective: The extensibility evaluation aims to evaluate the software’s ability to accommodate new features or extensions smoothly without heavily affecting system performance or deployment efficiency.