Requirements - bounswe/bounswe2025group5 GitHub Wiki
🎨 Glossary
- User: An individual who interacts with the system, either by browsing or engaging with its features; may be registered or unregistered.
- Registered User: A user who has created an account by registering with an email and password, thereby gaining access to additional features such as waste logging, setting goals, and participating in challenges.
- Non-registered User: A user who does not have an account; they can roam in forums and view the profiles of other registered users.
- Account: The credentials and associated data a user creates during registration, enabling them to log in, manage their profile, and access system functionalities.
- Profile: The personal page of a registered user displaying their waste reduction statistics, profile picture, and details such as username and waste reduction goals.
- Waste Log: A daily record where registered users enter the amount of waste they generate, measured with predefined items, grams or kilograms.
- Waste Reduction Goal: The target set by a registered user indicating the desired amount of waste to reduce each week, specified in grams or kilograms.
- Waste Category: Predefined classifications for waste types (e.g., plastic, organic, paper, metal, glass) used to organize and analyze waste tracking data.
- Community Sustainability Challenge: A competitive event with a defined start and end date where registered users commit to reducing waste and earn points based on their performance.
- Points: A gamification metric awarded to users for reducing waste (e.g., 10 points per 500 grams reduced), which can be accumulated and later redeemed for eco-friendly rewards.
- Post: Content created by registered users that shares tips, eco-friendly product recommendations, or sustainability stories with the community.
- Forum: A section of the system where users (both registered and non-registered) can browse discussions, share insights, and interact on topics related to sustainability, waste reduction, and eco-friendly practices.
- Eco-friendly Reward: Incentives offered within the system that users can redeem with accumulated points, such as discount vouchers or eco-friendly products.
- Leaderboard: A ranking display that highlights the top performers in community challenges based on the percentage of waste reduction achieved.
- Achievement Badge: A digital award assigned when users reach predefined waste reduction milestones (e.g., 5kg, 10kg, 20kg), recognizing their progress.
- Visual Reports: Weekly and monthly summaries generated by the system to provide users with graphical insights into their waste data and progress over time.
- Waste Reduction Analytics: The system's computed insights, including the percentage reduction in waste over time, which help users monitor and improve their sustainability efforts.
- Moderator – A designated user responsible for monitoring forum activity, reviewing reports, and taking actions such as deleting inappropriate posts.
- Report – A system feature that allows users to flag content as inappropriate, misleading, or offensive. Reports are reviewed by moderators for potential action.
- Tagging – A feature allowing users to assign keywords or categories to posts to improve content organization and discoverability.
- Semantic Search – A search functionality that goes beyond exact keyword matches by understanding the meaning of words and phrases to provide more relevant search results.
- Batch Data Entry – A feature that allows users to input multiple waste logs at once instead of entering each record separately, improving efficiency.
- KVKK (Kişisel Verileri Koruma Kanunu) – Turkey’s Personal Data Protection Law, which regulates how personal data is collected, stored, and processed, ensuring user privacy and security.
⚙️ Functional Requirements
1.1 User Requirements
1.1.1 Account Requirements
1.1.1.1 Users shall be able to register for the system using an email, a username and a password.
1.1.1.2 Registered users shall be able to log in to the system with valid credentials.
1.1.1.3 Registered users shall be able to reset their passwords via an email verification link.
1.1.1.4 Registered users shall be able to delete their accounts, removing all associated data.
1.1.1.5 Registered users shall be able to log out from the system.
1.1.1.6 Registered users shall have a profile page displaying their waste reduction statistics.
1.1.1.7 Registered users shall be able to edit their profile, including username and goals.
1.1.1.8 Registered users shall be able to set and update their waste reduction goals in grams or kilograms per week.
1.1.1.9 Registered users shall be able to upload a profile picture up to 2MB in size.
1.1.1.10 Unregistered users shall have limited, read-only access to the application. This includes the ability to view posts, community challenges and read the forums, but excludes any interactive or posting capabilities.
1.1.2 Waste Tracking Requirements
1.1.2.1 Registered users shall be able to log their daily waste generation in grams or kilograms.
1.1.2.2 Registered users shall be able to categorize waste into at least five predefined types (e.g., plastic, organic, paper, metal, glass).
1.1.2.3 Categorized waste shall be tracked using different units based on the type of waste being reduced (e.g., counting individual items for plastics such as bottles, straws, and cups; measuring weight in grams or kilograms for metal waste; and using liters for food waste diverted from landfill).
1.1.2.4 Registered users shall be able to view historical waste data for at least the past 12 months.
1.1.2.5 Registered users shall be able to visualize historical waste data through charts and bar graphs.
1.1.3 Gamification and Challenge Requirements
1.1.3.1 Registered users shall be able to join community sustainability challenges with a defined start and end date.
1.1.3.2 Registered users shall be able to earn points for logging waste reduction, with 10 points awarded per 500 grams reduced.
1.1.4 Post Requirements
1.1.4.1 Registered users shall be able to create and share posts containing tips, eco-friendly product recommendations, and stories.
1.1.4.2 Registered users shall be able to delete their own posts.
1.1.4.3 Moderator shall be able to see reports that are sent by users about a post.
1.1.4.4 Moderator shall be able to delete a post if it includes inappropriate words or hate speech.
1.1.4.5 Registered users shall be able to save posts.
1.1.4.6 Registered users shall be able to like posts.
1.1.4.7 Registered users shall be able to comment on posts.
1.1.4.8 Registered users shall be able to share posts.
1.1.5 Incentive and Reward Requirements
1.1.5.1 Registered users shall be able to view available eco-friendly rewards that they can redeem using accumulated points.
1.1.5.2 Registered users shall be able to view their points balance and transaction history.
1.1.5.3 Registered users shall be able to redeem rewards through a confirmation process.
1.1.5.4 Registered users shall be able to take rewards (such as points) from the forum activities automatically.
1.2 System Requirements
1.2.1 Performance and Storage
1.2.1.1 The system shall store user data, including waste logs and progress reports for a minimum of 3 years.
1.2.1.2 The system shall process and update waste reduction analytics within 5 seconds after new data entry.
1.2.2 Waste Tracking Requirements
1.2.2.1 The system shall generate weekly and monthly visual reports summarizing waste data.
1.2.2.2 The system shall calculate and display the percentage reduction in waste over time.
1.2.2.3 The system shall generate graphs and charts for visualizing waste data.
1.2.3 Gamification and Incentive Requirements
1.2.3.1 The system shall maintain leaderboards displaying the top 10 users in each challenge, the ranking should be based on the number of completed waste reduction goals per user.
1.2.3.2 The system shall assign achievement badges when users reach predefined milestones (e.g., 5kg, 10kg, 20kg waste reduction).
1.2.3.3 The system shall provide a rewards catalog where each reward is described (e.g., discount vouchers, eco-friendly products, etc.)
1.2.3.4 The system shall grant the predetermined rewards automatically to users whenever they level up or achieve a top-three finish in a challenge.
1.2.3.5 The system shall create different leaderboards for different countries since the waste management politics about the countries are different.
1.2.3.6 The system shall assign achievement badges when users are in the first three places in the leaderboard for the end of the challenges.
1.2.4 Notification System Requirements
1.2.4.1 The system shall send notification to people for their progress about the goals as a warning.
1.2.4.2 The system shall send notification to people for the update of the leaderboard situation.
1.2.5 Post Requirements
1.2.5.1 The system shall support text, image, and link attachments in shared posts.
1.2.5.2 The system shall include tagging and categorization features to help organize content by sustainability topics.
1.2.5.3 System shall provide semantic search over forum page.
⚡ Non-Functional Requirements
2.1 User Experience Requirements
2.1.1 Performance Requirements
2.1.1.1 The system shall provide a response time of under 2 seconds for 95% of user actions, including logging waste, viewing leaderboards, and interacting with the community.
2.1.2 Usability Requirements
2.1.2.1 The platform shall support multilingual functionality, allowing translation of all UI elements and content into multiple languages.
2.1.2.2 The system shall provide tooltips, tutorials, or onboarding guides for first-time users.
2.1.2.3 All form inputs shall include inline validation to prevent errors before submission.
2.1.3 Waste Tracking Requirements
2.1.3.1 The system shall ensure waste tracking data is updated in real-time, reflecting the latest user inputs without requiring a page refresh.
2.1.3.2 The waste tracking module shall support batch data entry, enabling users to log multiple waste records at once.\
2.1.4 Gamification and Challenge Requirements
2.1.4.1 The system shall ensure fairness in leaderboards by preventing fraudulent activity (e.g., duplicate waste logs).
2.2 Scalability Requirements
2.2.1 The platform should be designed for horizontal scalability, enabling the addition of more servers or cloud instances as user demand increases.
2.3 Security Requirements
2.3.1 User data shall be encrypted to prevent unauthorized access and data breaches.
2.3.2 System shall require a password with at least 6 characters that includes at least a number and a letter.
2.3.3 The platform should comply with Turkish KVKK, ensuring minimal, accurate data storage and robust security measures to prevent unauthorized access.
2.3.4 System shall ask user for KVKK approval to register.
2.4 Portability & Compatibility Requirements
2.4.1 The platform shall function correctly on modern web browsers, including Chrome, Firefox, and Edge, without layout or feature issues.
2.4.2 The platform shall be responsive and function correctly on mobile devices, tablets, and desktop screens.
2.5 Eco-Requirements
2.5.1 The platform shall prioritize hosting providers with certified renewable energy usage and low carbon footprints to align with sustainability goals.