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.
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.
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 List
A list of use cases for our community engagement platform.
ID | Use Case | Actor |
---|---|---|
UC1 | Report Issue | User |
UC2 | Discuss a Reported Issue | User |
UC3 | View Local Events | User |
UC4 | Participate in Forums | User |
UC5 | Read Articles | User |
UC6 | Personalize Profile | User |
UC7 | Personalize Recommendations | User |
UC8 | Post Events | Content Manager |
UC9 | Publish Articles | Content Manager |
UC10 | Respond to Issues | Content Manager |
Use Case Descriptions
Use Case | |
---|---|
ID | UC1 |
Actor | User |
Description | Report an issue or concern within the community. |
Main Flow | 1. 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. | |
Result | The issue is reported and recorded. |
Use Case | |
---|---|
ID | UC2 |
Actor | User |
Description | Discuss an issue in the community. |
Main Flow | 1. 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. | |
Result | The issue is a higher priority as it affects more people. |
Use Case | |
---|---|
ID | UC3 |
Actor | User |
Description | View local events and activities. |
Main Flow | 1. 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. | |
Result | User views and interacts with local event listings. |
Use Case | |
---|---|
ID | UC4 |
Actor | User |
Description | Participate in community forums and discussions. |
Main Flow | 1. 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. | |
Result | User engages in community discussions. |
Use Case | |
---|---|
ID | UC5 |
Actor | User |
Description | Read articles and news related to the community. |
Main Flow | 1. 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. | |
Result | User reads and interacts with community content. |
Use Case | |
---|---|
ID | UC6 |
Actor | User |
Description | Personalize their profile with interests and preferences. |
Main Flow | 1. User accesses their profile settings. |
2. User updates personal information. | |
3. User selects interests and preferences. | |
4. User saves changes. | |
Result | User profile is updated with personalized settings. |
Use Case | |
---|---|
ID | UC7 |
Actor | User |
Description | Personalize recommendations. |
Main Flow | 1. User's preferences are analyzed. |
2. System generates personalized recommendations. | |
3. User views recommendations. | |
Result | User receives personalized content. |
Use Case | |
---|---|
ID | UC8 |
Actor | ContentManager |
Description | Post and promote local events. |
Main Flow | 1. ContentManager accesses the "Events" section. |
2. ContentManager creates a new event listing. | |
3. ContentManager adds event details and media. | |
4. ContentManager publishes the event. | |
Result | ContentManager promotes events to the community. |
Use Case | |
---|---|
ID | UC9 |
Actor | ContentManager |
Description | Publish articles and news related to the community. |
Main Flow | 1. ContentManager accesses the "Articles" section. |
2. ContentManager creates a new article. | |
3. ContentManager adds article content and media. | |
4. ContentManager publishes the article. | |
Result | ContentManager shares information with the community. |
Use Case | |
---|---|
ID | UC10 |
Actor | ContentManager |
Description | Respond to reported issues and concerns. |
Main Flow | 1. ContentManager receives notification of a reported issue. |
2. ContentManager reviews issue details. | |
3. ContentManager posts a response or resolution. | |
4. ContentManager updates issue status. | |
Result | ContentManager 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.