Skip to main content

Requirements

Project Background & Client Introduction

Many communities face ongoing issues such as environmental concerns, noise complaints, and traffic problems. Currently, there is a lack of efficient methods for residents and businesses to report these issues and suggest improvements to the relevant organizations. This makes it difficult to address community concerns and enhance local areas. NTT has partnered with us to develop a platform that will improve this communication.

This platform will provide a central location for residents and businesses to report issues, access information about local events, and participate in community discussions. We will utilize technologies such as GenAI and green software principles to create a user-friendly experience. NTT's goal is to empower communities to actively participate in improving their local environment, and we are working to develop a platform that facilitates this.

Client Requirements

With the knowledge of the project background, we met our client to discuss further what features our portal should have. We also agreed to meet every two weeks, so we could report our progress and get feedback from the client.

As specified by our client, below are some requirements collected from him:

  • Needs to be interactive and innovative. Not like Reddit which is "too text-based".
  • Use GenAI for customer engagement. (E.g. Personalisation of user experience)
  • It needs to be an all-in-one digital community centre.
  • Utilise Green Software Principles.

Goals

We are developing a web-based portal to enhance community engagement and communication. This platform will enable residents and local businesses to efficiently report issues, access local event information, participate in community forums, and stay informed through relevant articles. Utilizing artificial intelligence, we aim to personalize user experiences and streamline content management, with the goal of fostering a more connected and responsive community.

User Requirements

We conducted interviews to gather user requirements. We decided on a semi-structured interview, because open-ended answers allowed us to cover a broad range of User Experience considerations.​

alt text

Personas

Using the data collected, we came up with personas and scenarios for our target users in order to better understand their needs and goals and identify their requirements.

Beatrice Persona Alex Persona

Based on the surveys and personas, our team concluded the following regarding project requirements:

  • A Comprehensive Community Hub: Users and our client envision a platform that goes beyond simple issue reporting, functioning as a complete digital community center. This demands a broad range of features to support diverse community interactions.
  • Dynamic User Engagement: The need for an interactive, visually rich experience, coupled with AI-driven personalization, is paramount. Users reject text-heavy interfaces, requiring dynamic and engaging features.
  • Transparent and Open Communication: Facilitating two-way communication and feedback is crucial for building trust and community ownership. The platform must enable seamless dialogue between residents and businesses.
  • Data-Driven Insights and Personalization: Businesses require robust analytics to track community metrics, while users desire personalized experiences through AI-powered recommendations and targeted content.
  • Sustainability at the Core: Reflecting both client and user priorities, sustainability must be a fundamental principle in the platform's design and functionality.

Use Cases

The use case diagram below highlights how a user can interact with the final product.

Use Case Diagram Use Case Diagram

Use Case List

A list of use cases for our community engagement platform.

IDUse CaseActor
UC1Report IssueUser
UC2Discuss a Reported IssueUser
UC3View Local EventsUser
UC4Participate in ForumsUser
UC5Read ArticlesUser
UC6Personalize ProfileUser
UC7Personalize RecommendationsUser
UC8Post EventsContent Manager
UC9Publish ArticlesContent Manager
UC10Respond to IssuesContent Manager

Use Case Descriptions

Use Case
IDUC1
ActorUser
DescriptionReport an issue or concern within the community.
Main Flow1. User opens the app and navigates to the "Report Issue" section.
2. User selects the issue category and provides details.
3. User adds optional media (photos, videos).
4. User submits the issue.
5. The system confirms submission and notifies Content Manager.
ResultThe issue is reported and recorded.
Use Case
IDUC2
ActorUser
DescriptionDiscuss an issue in the community.
Main Flow1. User opens the app and navigates to the "Report Issue" section.
2. User selects an issue that affects them.
3. User contributes to the discussion and/or upvotes the issue.
ResultThe issue is a higher priority as it affects more people.
Use Case
IDUC3
ActorUser
DescriptionView local events and activities.
Main Flow1. User opens the app and navigates to the "Events" section.
2. User browses or filters events.
3. User views event details.
4. User opts to add event to calendar or set reminders.
ResultUser views and interacts with local event listings.
Use Case
IDUC4
ActorUser
DescriptionParticipate in community forums and discussions.
Main Flow1. User opens the app and navigates to the "Forums" section.
2. User browses or searches for relevant topics.
3. User reads and replies to posts.
4. User creates new forum topics.
ResultUser engages in community discussions.
Use Case
IDUC5
ActorUser
DescriptionRead articles and news related to the community.
Main Flow1. User opens the app and navigates to the "Articles" section.
2. User browses or filters articles.
3. User reads articles.
4. User shares or comments on articles.
ResultUser reads and interacts with community content.
Use Case
IDUC6
ActorUser
DescriptionPersonalize their profile with interests and preferences.
Main Flow1. User accesses their profile settings.
2. User updates personal information.
3. User selects interests and preferences.
4. User saves changes.
ResultUser profile is updated with personalized settings.
Use Case
IDUC7
ActorUser
DescriptionPersonalize recommendations.
Main Flow1. User's preferences are analyzed.
2. System generates personalized recommendations.
3. User views recommendations.
ResultUser receives personalized content.
Use Case
IDUC8
ActorContentManager
DescriptionPost and promote local events.
Main Flow1. ContentManager accesses the "Events" section.
2. ContentManager creates a new event listing.
3. ContentManager adds event details and media.
4. ContentManager publishes the event.
ResultContentManager promotes events to the community.
Use Case
IDUC9
ActorContentManager
DescriptionPublish articles and news related to the community.
Main Flow1. ContentManager accesses the "Articles" section.
2. ContentManager creates a new article.
3. ContentManager adds article content and media.
4. ContentManager publishes the article.
ResultContentManager shares information with the community.
Use Case
IDUC10
ActorContentManager
DescriptionRespond to reported issues and concerns.
Main Flow1. ContentManager receives notification of a reported issue.
2. ContentManager reviews issue details.
3. ContentManager posts a response or resolution.
4. ContentManager updates issue status.
ResultContentManager addresses and resolves reported issues.

MoSCoW List

Functional Requirements List

This list outlines the essential features and functionalities required for the successful operation of our application. We are focused on delivering core user interactions, content management, and AI-driven enhancements. This includes robust account management, dynamic home page features, comprehensive reporting and event handling, and intelligent AI capabilities. We aim to provide a seamless and efficient user experience through these functional requirements.

Must Have
  • User authentication (login/signup).
  • Content Management tools.
  • Use of Gen-AI for enhanced user experience and content generation tools.
  • Interactive map displaying reported issues and events.
  • Reporting system (creation, editing, status updates).
Should Have
  • Differentiation between content manager and user account types.
  • Mobile Responsiveness.
  • Detailed event information pages.
  • Enhanced content creation for content managers.
  • Settings customisation (logo, business info, limit boundaries of the community etc.)
  • Reported issues discussions and upvoting.
Could Have
  • Extraction of content from PDF/ICS files to automatically create events/articles.
  • Semantic search for events/articles.
  • Personalised content recommendations of events/articles.
Won't Have
  • Community sentiment analysis and issues prioritisation.
  • Automatic report classification/forwarding.

Non-Functional Requirements List

Our project prioritizes a stable, performant, and user-friendly experience. These non-functional requirements ensure that the application not only functions correctly but also provides a high-quality user experience. We emphasize sustainability, usability, and compatibility, ensuring that the application meets user expectations and is scalable for future growth.

Must Have
  • Sustainability - Use of green software principles to minimise environmental impact.
  • Usability - User-friendly interface and intuitive navigation.
  • Compatibility - Responsive design for various screen sizes.
  • Data security and integrity.
  • Documentation - Comprehensive README documentation for deployment.
  • Deployment - Must be able to be deployable by any business, globally, for community connection.
Should Have
  • Performance - Fast loading times and efficient performance.
  • Scalability - To handle increased traffic and data.
  • Code Quality - Linting tests (frontend and backend) for consistent code style and quality.
  • Testing - Backend and frontend unit testing with adequate code coverage.
Could Have
  • Performance optimization - Stress testing and performance tuning.
  • Localisation - Support for multiple languages to enhance accessibility.
  • Visual Themes - Ability to change colours/fonts of the entire web app.
Won't Have
  • Dark mode.
  • Native mobile application development.