project-proposal-2024

👬 CampusBuddy 👭

Abstract

CampusBuddy is similar to having a buddy in university!

CampusBuddy revolutionizes the university experience in many ways. Whether you’re seeking a study partner, a lunch buddy, or support with a difficult assignment, CampusBuddy links you with other students who are willing to help. With a focus on availability, scalability, and extensibility, CampusBuddy ensures uninterrupted connectivity and support, fostering a culture of collaboration within the university community.

Author

Name: Thi Thuy Tien Nguyen

Student number: 48338433

Functionality

Scope

The Minimum Viable Product (MVP) of CampusBuddy will include the following fundamental functionalities:

Quality Attributes

Availability

Availability refers to the system’s capability to be accessed by users. If the system goes down, users can’t do what they need to, which can be frustrating. There are several methods to make sure the system stays available, such as having backups (redundancy) and adding observability (monitoring and alerts).

In the university environment, situations can arise unexpectedly, requiring immediate help. Whether it’s a last-minute project deadline or an urgent errand, high availability ensures that CampusBuddy is operational 24/7, allowing students to access its features and seek assistance at any time, day or night.

Scalability

The ability of a system to accommodate different volumes of user activity is referred to as scalability. Systems lacking scalability may encounter performance bottlenecks under high load. Several design techniques, such as load balancing and horizontal scaling, can be used to ensure scalability.

User activity on the platform varies a lot during busy times like exams or assignment deadline weeks. CampusBuddy needs to effectively scale its infrastructure to accommodate growing loads. During off-peak times like weekends and summer or semester breaks, the system should scale down to save resources.

Extensibility

Extensibility is the capacity of the system to accommodate new feature additions. Developers should be able to include new features without having to completely redesign the architecture. Extensibility can be improved by utilizing several methods, including dependency injection, modular, and abstract design.

After delivering MVP, many additional features are planned for integration. Some are extensions of existing functionalities (“Sign in with Google”). Some are completely new (messaging). As user requirements evolve, CampusBuddy must be able to incorporate new features to meet user expectations.

Security

Security refers to the system’s capability to function securely even under attacks. Systems with weak security could be exploited easily, resulting in disruption of service or loss of users’ data. Security can be improved by implementing user authentication, data encryption, access control, etc.

It is very important for CampusBuddy to maintain high security. Users’ data like student ID, student card image, student profile image, and messages should be kept confidential. A solid security system would help CampusBuddy to protect users from several risks such as unauthorized access, data breaches, and identity theft.

Evaluation

Availability

Scalability

Extensibility

Security