project-proposal-2024

CleanApp

Abstract

Most people today have the motivation to help keep their city or country clean and rid of polution. However, most of them lack the means to put that motivation into action. CleanApp is a way for such people to connect with each other and organise clean up operations. The idea is for someone passing by apoluted area to be able to take a photo and share it with like-minded people. CleanApp is a platform where images and details (such as the location) of poluted areas can be shared. Each post will have a comment thread where users can organise a meetup to clean that area. CleanApp also includes private and group messaging functionality, for users to connect with each other. CleanApp is a great way to take care of the environment and make friends along the way! CleanApp will be available, scalable, extensible, and secure.

Author

Name: Gowrienanthan Balarupan

Student number: 47962402

Functionality

The core functionality of CleanApp is as follows:

Scope

The following functionality will be part of the MVP:

Quality Attributes

Availability

The system must be highly available because of the use of the app for organising events. Since the goal of the app is to allow users to organise clean-up events, the system being down would inconvenience any ongoing events or events that are about to start. Users would not be able to communicate with the organisers or other participants about event related matters. So, high availability is a must have.

Scalability

CleanApp is an app that can be used anywhere in the world. As the number of users grows, the system should be able to handle the load. During public holidays or periods such as the university summer break, higher load will be expected due to users having more time to organise and participate in events. The system should be able to scale up or down based on the fluctuating load.

Security

Since users can create accounts, and have private groups, security is essential. Information about users such as their whearabouts can be compromised if proper security measures are not implemented.

Extensibility

CleanApp is not limited to just the features listed in the functionality section above. As an example, grouping of user posts based on location, and having a history of posts and events for each location can be some potential features that can be added in the future. The system should be designed and coded in a way that makes it easier for future functionality to be added easily.

Evaluation

Availability

The availability of the system can be measured by keeping track of downtime. By utilising methods such as periodic health checks, the downtime can be tracked and analysed.

Scalability

Scalability of the system can be evaluated through load testing as well as stress testing. Load testing can evaluate the scalability of the system up to the expected amount of load, while stress testing can then test the limits of scalability of the system.

Security

Security of the system can be evaluated by examining the code for any potential vulnerabilities, as well as through running tests of the application to check for vulnerabilities.

Extensibility

The extensibility of the system can be evaluated by checking whether software design best practices have been followed that make it easy for changes and additional features to be added. Some such best practices are to ensure low coupling and high cohesion, and ensuring good modularity.