Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

CMPE451 Requirements

Selman Akman edited this page Dec 18, 2025 · 36 revisions

Project Requirements

Glossary

Achievement: A virtual reward or recognition given to users for completing specific sustainability milestones.
Admin: The application owner who manages user accounts, settings, and platform-wide configurations.
Badge: Digital awards given to users for achieving sustainability milestones.
Challenge: A time-limited competition, focused on waste reduction goals, that users can join or create to reduce waste collectively.
Community Challenge: A challenge where multiple users participate to achieve a shared waste reduction goal.
Dashboard: A user interface displaying progress, waste logs, goals, and achievements.
Data Visualization: Graphs, charts, and reports that display waste reduction trends and performance.
Eco-Forest: A virtual representation of trees users earn by completing sustainability actions.
Eco-Friendly Product: A sustainable alternative to commonly used items that generate waste.
Event: A time-bound activity or initiative (e.g., "Plastic-Free Week," "Community Cleanup") created by Admins, Moderators, or designated users to promote sustainability, which users can view and interact with.
Event Interaction: User actions on an event, such as marking "Attending"/"Not Attending" or leaving predefined emoji reactions, restricted to logged-in users.
Event Type: A predefined category for events (e.g., "Plastic-Free Week," "Recycling Workshop") selectable during event creation to standardize event organization.
Goal: A target set by users to reduce waste in a specific category within a timeframe.
Leaderboard: A ranking system displaying top users based on their waste reduction scores and achievements.
Location Tracking: A feature that allows users to log waste disposal locations at the city and country level.
Moderator: A user with permissions to review and manage flagged content and enforce platform guidelines.
Non-Recyclable Waste: Waste that cannot be processed into new materials, often sent to landfills.
Notification: Alerts sent to users about achievements, updates, or reminders within the application.
Profile: A user’s personal account containing their username, achievements, and activity history.
Recyclable Waste: Waste materials that can be processed and reused, such as paper, glass, and metal.
Registered User: A user who has created an account on the application.
Reward System: A point-based system that encourages users to engage in sustainable actions.
Scoring System: A mechanism that assigns points based on waste reduction activities.
Sustainable Action: Any action that contributes to waste reduction or environmental conservation.
Sustainability Streak: Consecutive days of waste reduction activity, leading to additional points or rewards.
Team Challenge: A challenge where users form groups to collectively achieve sustainability goals.
Tip: A sustainability recommendation provided by the system to help users reduce waste.
User: A person who uses the Zero Waste Challenge application to track waste and participate in challenges.
Username: A unique identifier used to log in and interact within the application.
Virtual Rewards: Digital achievements such as trees, badges, or aquarium elements that reflect a user’s progress.
Waste Category/Type: Classification of waste items (plastic, glass, organic, etc.).
Waste Tracking: The process of logging and monitoring waste produced by users.

1. Functional Requirements

1.1 User & Account Requirements

1.1.1 User Requirements

1.1.1.1 There shall be 3 user roles in the platform:

  • Admin: Application owner
  • User: Regular user who interacts with the platform
  • Moderator: Reviews flagged content when inappropriate actions are reported

1.1.1.2 Users shall be able to create an account.
1.1.1.3 Users shall be able to sign up and log in using a unique username or email with a password.
1.1.1.4 Users shall be able to display their profiles.
1.1.1.5 Users shall be able to enable or disable notifications.
1.1.1.6 Users shall have a unique username visible to other users.
1.1.1.7 Users shall be able to set their own passwords, but they must meet minimum security requirements (e.g., at least 8 characters including letters and numbers).
1.1.1.8 Users should have the option to log in via Google and Github. (optional).
1.1.1.9 Users shall be able to reset their password using a "Forgot Password" feature.
1.1.1.10 Users shall be able to toggle "Anonymous Mode" in their profile settings to hide their identity on public leaderboards while still participating in rankings.

1.1.2 Account Management Requirements

1.1.2.1 The system shall store the username for each user account.
1.1.2.2 The system shall store the user's email address for login and notifications.
1.1.2.3 The system shall store user passwords.
1.1.2.4 The system shall be able to store the user's location at the city and country level for location-based features.
1.1.2.5 Users shall be able to upload a profile picture to their accounts.
1.1.2.6 Account shall have name and surname fields.
1.1.2.7 Users shall be able to add a bio/short description to their accounts.
1.1.2.8 The system shall provide an option to deactivate or delete an account.

1.1.3 Admin Requirements

1.1.3.1 Admin shall have full access to all user accounts and platform settings.
1.1.3.2 Admin shall be able to create, edit, and delete user accounts.
1.1.3.3 Admin shall be able to assign or remove moderator roles.
1.1.3.4 Admin shall be able to review and manage reported content.
1.1.3.5 Admin shall be able to modify platform-wide settings and configurations.
1.1.3.6 Admin shall be able to send notifications or announcements to all users.

1.1.4 Moderator Requirements

1.1.4.1 Moderator shall be able to review and manage flagged content.
1.1.4.2 Moderator shall be able to warn, suspend, or ban users based on violations.
1.1.4.3 Moderator shall be able to escalate critical issues to the Admin.
1.1.4.4 Moderator shall have access to reported user activity logs.

1.2 Waste Tracking & Scoring System Requirements

1.2.1 Waste Logging Requirements

1.2.1.1 Users shall be able to manually log their waste (e.g., “I reduced plastic bottle usage by X amount”).
1.2.1.2 Waste details shall include "date of disposal," automatically set to the current date but editable by users.
1.2.1.3 Waste details shall include "waste category/type (plastic, food, electronic, etc.)" and users shall be able to select from predefined categories.
1.2.1.4 Waste details shall include "quantity (item count or estimated weight or volume)" and users shall select or input quantity. Scoring will be based on category and quantity.
1.2.1.5 Waste details should include "location" (optional, e.g., city or country) selected from a dropdown to standardize input.
1.2.1.6 The system shall provide a simple interface to log waste, with dropdown menus for categories and quantities to minimize input errors.

1.2.2 Waste Tracking System Requirements

1.2.2.1 The system shall categorize waste into the waste categories.
1.2.2.2 The system shall include waste categories like recyclable waste (plastic (bottles etc.), paper (newspapers, books etc.), glass (bottles, jars etc.), metal (cans, aluminum foil) etc.), organic waste (food scraps (fruits, vegetables, leftovers etc. ), used oil, clothing waste, yard waste compostable materials (leaves, grass etc.)), hazardous waste (electronics (old phones, old computers etc.), batteries (batteries, chargers etc.), medical waste (expired medicine, syringes etc.), chemicals (paint, cleaning supplies etc.)), non-recyclable waste (mixed waste, non-recyclable plastics).
1.2.2.3 The system should allow users to request custom waste categories based on their needs and admin should categorize this waste and admin should determine scoring and metrics of this waste.
1.2.2.4 The system shall keep track of waste logs and update the user goals accordingly.

1.2.3 Waste Reduction Suggestion Requirements

1.2.3.1 The system should provide suggested actions to help users reduce their waste based on logged waste data.
1.2.3.2 The system shall offer optional community challenges (e.g., “Zero plastic week”) that users can join to earn extra points.

1.2.4 Scoring System Requirements

1.2.4.1 The system shall calculate an average waste reduction score based on different waste types.
1.2.4.2 Draft scoring system should be like in below table:

Waste Category Subcategory Approximate Unit of Measurement Score per Unit Rationale
Recyclable Waste Plastic (bottles, packaging, etc.) 1 kg 10 points Reducing plastic waste prevents long-term pollution and wildlife harm.
Paper (newspapers, books, etc.) 1 kg 5 points Saves trees and reduces deforestation impact.
Glass (bottles, jars, etc.) 1 kg 8 points 100% recyclable but energy-intensive.
Metal (cans, aluminum foil, etc.) 1 kg 12 points High recyclability but requires energy for processing.
Organic Waste Food Scraps (fruits, vegetables, leftovers) 1 kg 6 points Composting reduces methane emissions from landfills.
Yard Waste (leaves, grass, etc.) 1 kg 5 points Can be composted into nutrient-rich soil.
Used Cooking Oil 1 liter 15 points Pollutes water sources and damages ecosystems.
Clothing Waste 1 kg 8 points Textile waste contributes significantly to landfill pollution.
Hazardous Waste Electronics (old phones, computers, etc.) 1 small item 20 points Contains toxic materials, hard to recycle.
Electronics (laptops, TVs, large devices) 1 large item 50 points Requires specialized recycling processes.
Batteries (single-use & rechargeable) 1 battery 25 points Heavy metals can contaminate soil and water.
Medical Waste (expired medicine, syringes) 1 kg 30 points Hazardous if disposed of improperly.
Chemicals (paint, cleaning supplies) 1 liter 35 points Can release toxic fumes or contaminate water.
Non-Recyclable Waste Mixed Waste (non-recyclable plastics, contaminated items) 1 kg 3 points Landfill-bound, lowest environmental value.

Bonus Points for Sustainable Actions

To encourage waste prevention, users can earn extra points for actions beyond just logging waste:

Sustainable Action Bonus Points Rationale
Using a reusable water bottle instead of plastic +5 points per week Reduces single-use plastic waste.
Using a cloth bag instead of plastic bags +2 points per shopping trip Prevents unnecessary plastic waste.
Donating clothes instead of discarding them +10 points per donation Extends the lifecycle of textiles.
Repairing electronics instead of replacing them +20 points per device Reduces e-waste generation.
Composting organic waste instead of throwing it away +10 points per composting action Reduces methane emissions.

1.2.4.3 Larger reductions (e.g., 10+ kg of plastic saved) should receive bonus multipliers.
1.2.4.4 Users shall earn extra points by completing challenges.
1.2.4.5 The system shall incentivize regular waste reduction by awarding +5 points for logging waste at least 5 days in a week.
1.2.4.6 System shall allow a maximum of 100 points per challenge.

1.3 Goal Setting and Achieving Waste Reduction Requirements

1.3.1 Goal Setting Requirements

1.3.1.1 Users shall be able to set personal waste reduction goals based on waste type (reduce plastic, food waste, electronic waste, etc.), time frame (daily, weekly, monthly, yearly etc.), reduction target (measured in weight, volume, item count, percentage etc.).
1.3.1.2 The system shall offer predefined goal templates for quick selection, such as: "Reduce plastic waste by 20% this month," "Avoid food waste for 7 days," or "Recycle at least 5 kg of paper this month."
1.3.1.3 Users shall be able to update or adjust their goals after setting them.

1.3.2 Achieving Waste Reduction Requirements

1.3.2.1 Users shall be able to track progress toward their set goals or the system shall automatically track progress toward set goals based on logged waste data.

1.4 Tips and Recommendations Requirements

1.4.1 Tips Requirements

1.4.1.1 The system shall allow users to access a database of eco-friendly tips ("Use reusable shopping bags instead of plastic bags" etc.).
1.4.1.2 The system shall categorize tips by sustainability topic, such as: waste reduction ("Try composting your food waste" etc.), energy saving ("Unplug devices when not in use" etc.), water conservation ("Fix leaks to save water" etc.).
1.4.1.3 The system shall allow users to favorite tips for later use.
1.4.1.4 The system shall allow users to submit their own sustainability tips for others to see.
1.4.1.5 The system shall display trending or most-liked tips to encourage engagement.
1.4.1.6 The system shall reward users for contributing valuable tips (leaderboard points etc.).

1.5 Challenge and Activity Tracking Requirements

1.5.1 Challenge Requirements

1.5.1.1 Users shall be able to join sustainability challenges.
1.5.1.2 Users shall be able to create their own custom challenges, including: challenge name ("Plastic-Free Week Challenge" etc.), challenge description (rules, duration, objectives etc.), challenge goal ("Reduce food waste by 50% in 1 month" etc.), entry requirements (individual, team-based, open to all etc.).
1.5.1.3 The system shall provide predefined challenges.
1.5.1.4 Users shall be able to track their progress toward challenge goals.
1.5.1.5 Users should be able to exit a challenge before it ends. (optional)
1.5.1.6 Users should form or join teams (e.g., "Istanbul University") to participate in group challenges. (optional)
1.5.1.7 The system should allow organizations, schools, or businesses to create and manage group challenges. (optional)
1.5.1.8 The system should encourage friendly competition by allowing users to challenge friends. (optional)
1.5.1.9 Users shall be able to create sustainability challenges that others can join.< (br> 1.5.1.10 Challenges shall have a defined duration (e.g., “Recycle X amount of plastic in the next 30 days”).
1.5.1.11 Participants who complete a challenge shall earn extra challenge points.
1.5.1.12 The challenge creator shall not be able to set arbitrary challenge points (to prevent abuse, e.g., creating a 1 million-point challenge).

1.6 Leaderboard, Data Visualization, Achievements and Rewards Requirements

1.6.1 Leaderboard Requirements

1.6.1.1 The system shall provide a leaderboard to display rankings based on challenge performance.
1.6.1.2 Team progress displayed on public leaderboards should also show community impact summaries (e.g., total kg diverted and participation count) for the selected timeframe. (optional)
1.6.1.3 The leaderboard shall be time-based, resetting periodically (e.g., weekly, monthly) while keeping historical records.
1.6.1.4 The leaderboard shall support multiple categories, including:

  • Waste types (Plastic, Paper, Batteries, etc.)
  • City-based rankings

1.6.1.5 The system shall allow a global leaderboard, combining all waste types into a single ranking.
1.6.1.6 The system shall allow users to filter the leaderboard by timeframe (daily, weekly, monthly).

1.6.2 Data Visualization Requirements

1.6.2.1 The system shall provide a “Your Impact → Community” view that attributes a user’s logged actions and challenge results to community totals (e.g., “You contributed 2.3% of plastic reduction this month”).
1.6.2.2 The system shall generate personal progress reports with split data visualizations to ensure clarity:

  • Points History Graph: A line/area chart showing points earned over time.
  • Items Logged Graph: A bar chart showing the breakdown of waste items by category/quantity.
  • Sub-category Breakdown: Detailed view of specific items (e.g., Lithium Batteries).

1.6.2.3 The system should provide a community impact dashboard (global/city/team) showing total reductions, trends, and category breakdowns with timeframe filters and a visible “last updated” timestamp. (optional)

1.6.3 Achievements and Rewards Requirements

1.6.3.1 The platform shall offer rewards.
1.6.3.2 A reward system shall be implemented, focusing on motivation rather than monetary prizes.
1.6.3.3 Rewards should include:

  • Donations to environmental organizations (“A donation was made to TEMA Foundation” etc.)
  • Virtual achievements (e.g., “10 trees were planted in your virtual forest”)
  • Badge collection (e.g., “Your aquarium now has X fish”, “Your forest now has Y trees”)

1.6.3.4 Users shall accumulate waste reduction scores and unlock non-monetary rewards to stay motivated.
1.6.3.5 There should be collaborative goal rewards (Teams can unlock collective rewards (e.g., “Your group saved 1,000 kg of waste—special badge unlocked!”) etc.). (optional)
1.6.3.6 The system shall allow users to earn points for sustainable actions.
1.6.3.7 Users shall earn virtual and real-world rewards based on their accumulated waste reduction score:

Score-Based Reward System

Score Range Tier Name Rewards & Incentives
0 - 99 🌱 Eco Explorer Welcome badge + beginner sustainability tips
100 - 499 🍃 Green Starter Unlock first virtual tree in their eco-forest + digital certificate + community challenge access
500 - 999 🌍 Eco Advocate Unlock profile badge + Aquarium unlocks (1 virtual fish added) + name on sustainability leaderboard
1,000 - 2,499 🌿 Sustainability Hero Virtual eco-themed rewards (e.g., tree planted in your name) + Tree planted in real life (e.g., donation to TEMA Foundation)
2,500 - 4,999 🌟 Zero Waste Champion Personalized badge + Special in-app privileges (e.g., create exclusive challenges)
5,000+ 🌎 Planet Guardian Forest expansion (10 virtual trees) + leaderboard recognition + 10 trees planted/donation made in their name

1.6.3.8 Users shall collect badges based on achievements. Badges shall be displayed on their profile and leaderboard.
1.6.3.9 Badge system shall be like in the below table:

Badge Requirements and Virtual Achievements

Badge Name Requirement Virtual Achievement
First Step Log first waste reduction 🎖 Welcome badge
Plastic Buster Reduce 10 kg of plastic waste 🥤❌ Unlocks a virtual tree
Paper Saver Recycle 20 kg of paper 📄✅ +1 fish in virtual aquarium
Glass Guardian Recycle 10 kg of glass 🏺 +1 tree in virtual forest
E-Waste Warrior Recycle 5 electronic items 💻♻ +1 eco-energy point
Composting Pro Compost 10 kg of organic waste 🍎🌱 Virtual garden unlocked
Battery Buster Recycle 10 batteries 🔋 +1 special badge
Sustainability Streak Log waste reduction for 7 consecutive days 🔥 Badge + XP boost
Challenge Champion Complete 5 community challenges 🏆 Extra challenge score
Zero Waste Legend Reach 5,000+ score 🌍💚 Name displayed in "Hall of Fame"

1.6.3.10 The system shall provide a Badge Gallery view that displays all available badges, distinguishing between "Earned" (colored) and "Locked" (grayed-out/dimmed) badges to motivate users.

1.6.4 Community Activity Updates Requirements

1.6.4.1 The system shall display aggregated community statistics to foster social engagement, including: challenge participation counts (e.g., "600 people joined this challenge today"), daily/weekly waste reduction totals (e.g., "25 tons of waste recycled today"), milestone celebrations (e.g., "Community reached 1 million points!").

1.7 Other System Requirements

1.7.1 Authentication Requirements

1.7.1.1 System shall be able to authenticate login trials according to the credentials.

1.7.2 Notification Requirements

1.7.2.1 The system shall send reminders to users when they are falling behind their goals.
1.7.2.2 The system shall send motivational messages when users achieve milestones ("Great job! You've reduced 5 kg of waste!" etc.).

To incorporate the instructor's request for an events/forum screen into the existing project requirements, we need to define new functional requirements that cover the creation, management, display, and interaction with events. These requirements should align with the existing structure and integrate seamlessly with the user roles, authentication, and usability standards already defined. Below, I outline the new requirements and suggest where they should be added within the provided document structure. The requirements account for the instructor's specifications, such as a template-based event creation system, restricted user inputs, automatic event lifecycle management, and mandatory login for interactions.

1.8 Events Management Requirements

1.8.1 Event Creation Requirements

1.8.1.1 The system shall provide a template-based event creation interface for users with appropriate permissions (e.g., Admin, Moderator, or designated event organizers) to create events.
1.8.1.2 The system shall maintain a predefined list of event types (e.g., "Plastic-Free Week," "Community Cleanup," "Recycling Workshop") that users can select from during event creation.
1.8.1.3 Event creation shall require the following mandatory fields:

  • Event Type: Selected from the predefined list.
  • Title: Auto-generated based on the event type but editable to allow customization (e.g., "Plastic-Free Week 2025").
  • Date and Time: Start and end date/time for the event.
  • Location: City and country, selected from a dropdown to standardize input.
  • Exact Location: Specific address or landmark description.
  • District: Specific district within the city.
  • Duration: Estimated duration of the event (in minutes/hours).
  • Equipment Needed: List of items participants should bring (e.g., gloves, bags).
  • Photo: An optional image upload to visually represent the event.
  • Description: A short text field (max 100 characters) for a brief introduction to the event.

1.8.1.4 The system shall restrict event creation to predefined fields and dropdowns, preventing free-text input beyond the description field to maintain consistency and moderation ease.
1.8.1.5 The system shall allow Admins to manage (add, edit, remove) the predefined list of event types.
1.8.1.6 The system shall assign a default visibility status of "Active" to newly created events.

1.8.2 Event Display Requirements

1.8.2.1 The system shall provide an "Events" page accessible to all users, displaying a list of active events.
1.8.2.2 Each event listing shall display:

  • Event title.
  • Event type.
  • Date and time.
  • Location (city, country).
  • Photo (if provided).
  • Short description.
  • Interaction options (e.g., "Attending"/"Not Attending" buttons, emoji reactions).

1.8.2.3 The Events page shall allow users to filter events by:

  • Event type (e.g., "Plastic-Free Week").
  • Location (city, country).
  • Date range (upcoming, ongoing).

1.8.2.4 The system shall automatically move events to an "Inactive" status once the event end date/time is reached, removing them from the active events list.
1.8.2.5 Inactive events shall be archived and accessible in a separate "Past Events" section for reference, visible to all users.

1.8.3 Event Interaction Requirements

1.8.3.1 Users shall be required to log in to interact with events (e.g., mark attendance, leave emoji reactions).
1.8.3.2 The system shall redirect non-logged-in users to the login screen when attempting to interact with an event.
1.8.3.3 Logged-in users shall be able to:

  • Indicate attendance with "Attending" or "Not Attending" buttons.
  • Leave predefined emoji reactions (e.g., thumbs up, heart, recycle symbol) from a system-provided list to avoid inappropriate content.
    1.8.3.4 The system shall display the total number of users marked as "Attending" and the count of each emoji reaction for each event.
    1.8.3.5 The system shall prevent users from submitting free-text comments to maintain moderation simplicity and avoid abuse.
    1.8.3.6 The system shall allow Moderators to review and remove inappropriate event interactions (e.g., misuse of emojis).

1.8.4 Event Notification Requirements

1.8.4.1 The system shall send notifications to users who marked "Attending" for an event, reminding them 24 hours before the event start time.
1.8.4.2 The system shall allow users to opt out of event-specific notifications via their profile settings.
1.8.4.3 Admins shall be able to send announcements to all users about new or upcoming events.

2. Non-Functional Requirements

2.1 Performance & Scalability Requirements

2.1.1 Performance Requirements

2.1.1.1 The system shall support at least 10,000 concurrent users without performance degradation.
2.1.1.2 The response time shall not exceed 2 seconds for 95% of user requests.
2.1.1.3 The platform shall process waste logging data within 1 second after submission.
2.1.1.4 The leaderboard updates shall not exceed a delay of 5 seconds after a user logs waste.

2.1.2 Scalability Requirements

2.1.2.1 The system should be able to scale horizontally to support future growth in users and data. (optional)

2.2 Security & Compliance Requirements

2.2.1 Security Requirements

2.2.1.1 The platform shall use OAuth 2.0 or similar authentication protocols for secure login.
2.2.1.2 User passwords shall be encrypted using industry-standard encryption methods (e.g., bcrypt, AES-256).
2.2.1.3 The system shall support Multi-Factor Authentication (MFA) as an available security option for all users, with mandatory MFA for Admin and Moderator accounts.
2.2.1.4 The system shall log all authentication attempts and access requests for security monitoring.
2.2.1.5 The platform shall automatically log out users after 30 minutes of inactivity.
2.2.1.6 The system shall encrypt all sensitive user data (including personal information, email addresses, and location data) at rest using encryption standards.

2.2.2 Compliance Requirements

2.2.2.1 The platform shall comply with GDPR/KVKK regulations to ensure user data privacy.
2.2.2.2 User data shall be anonymized before being used for analytics or research purposes.
2.2.2.3 The platform shall allow users to request data export and data deletion in compliance with GDPR/KVKK requirements.
2.2.2.4 The system shall retain user data only for as long as necessary to provide services or as required, with inactive accounts archived after 12 months and deleted after 24 months of inactivity.
2.2.2.5 The system shall provide users with the ability to export their personal data (profile information, waste logs, challenge history, achievements, and activity history) in a machine-readable format (JSON or CSV).
2.2.2.6 Data export shall be available within 48 hours of user request and downloadable from the user's profile settings.

2.3 Availability & Reliability Requirements

2.3.1 Availability Requirements

2.3.1.1 The system shall maintain at least 99.9% uptime per month.
2.3.1.2 The system shall provide real-time status updates in case of downtime or maintenance.

2.3.2 Reliability Requirements

2.3.2.1 In case of a system failure, the platform shall recover within 5 minutes using backup servers.
2.3.2.2 Data backups shall be taken every 12 hours and stored in a secure, redundant location.

2.4 Support & Compatibility Requirements

2.4.1 Platform Support Requirements

2.4.1.1 The platform shall be accessible via modern web browsers (Chrome, Firefox, Safari, Edge).
2.4.1.2 The mobile application shall be available on Android (API level 23+) and iOS (iOS 12+).

2.4.2 Compatibility Requirements

2.4.2.1 The system shall have a responsive design, ensuring seamless experience across devices.
2.4.2.2 The system shall support integration with third-party authentication services (e.g., Google, Apple login).

2.5 Usability & User Experience Requirements

2.5.1 Usability Requirements

2.5.1.1 The system shall provide an intuitive UI, ensuring users can complete core actions within 3 clicks.
2.5.1.2 The onboarding process shall not take longer than 2 minutes for a new user.
2.5.1.3 The Events page shall allow users to view and interact with events within 3 clicks from the homepage.

2.5.2 Accessibility Requirements

2.5.2.1 The system shall support accessibility standards (WCAG 2.1) for inclusive design.
2.5.2.2 Users shall receive visual feedback (e.g., animations, progress bars) for their actions.
2.5.2.3 Critical navigation elements (homepage icon, profile icon, settings icon, and other primary navigation controls) shall include descriptive alternative text for screen readers.
2.5.2.4 The system shall support full keyboard navigation, allowing users to access all interactive elements and features without requiring a mouse.
2.5.2.5 Interactive elements shall provide visible focus indicators when navigated via keyboard.
2.5.2.6 The system shall maintain consistent navigation patterns across all pages and features to ensure predictability.
2.5.2.7 Text content shall be scalable up to 150% without loss of functionality or content.
2.5.2.8 The Events page shall comply with WCAG 2.1 accessibility standards, including descriptive alternative text for event photos and interaction buttons.
2.5.2.9 Event interaction buttons (e.g., "Attending," emoji reactions) shall include visible focus indicators for keyboard navigation.

2.5.3 Inclusive Design Requirements

2.5.3.1 The system should provide at least two language options (Turkish and English).
2.5.3.2 The system shall ensure readable font sizes and sufficient text/background contrast.
2.5.3.3 The system shall provide text labels alongside icons for clarity.
2.5.3.4 The system shall not use only color to indicate status (error, success) but also symbols and text.
2.5.3.5 The system shall allow full navigation using the keyboard (Tab, Enter).
2.5.3.6 The system shall display a short “How to Use” guide when the user first logs in.
2.5.3.7 The system shall display a documentation on how the points & bonuses are calculated and how the badges are earned.
2.5.3.8 The Events page shall support at least two language options (Turkish and English), consistent with the system’s internationalization standards.

2.5.4 Internationalization (i18n) Standards Requirements

2.5.4.1 The system shall provide the correct format of date, according to user's location.
2.5.4.2 The system shall interpret the decimal formatting correctly, according to user's location.
2.5.4.3 Text input fields (waste descriptions, challenge descriptions, tips, bio/short description) shall support both left-to-right (LTR) and right-to-left (RTL) text entry to accommodate future language expansion.
2.5.4.4 The system shall display text content based on the detected text direction of the input (automatic RTL/LTR detection for user-generated content).
2.5.4.5 Number formatting in waste logging (quantity input, weight, volume) shall follow the user's locale conventions (e.g., decimal point vs. comma separator).
2.5.4.6 Event date and time fields shall follow the user’s locale conventions for formatting (e.g., DD/MM/YYYY vs. MM/DD/YYYY).

2.5.5 Recognition & Feedback Requirements

2.5.5.1 The system shall recognize and highlight positive contributions through achievements, badges, and community leaderboards.
2.5.5.2 Each recognition event (badge, eco-forest growth, etc.) shall be securely logged to prevent tampering.
2.5.5.3 User feedback data shall be moderated and monitored for abusive content by Moderators.
2.5.5.4 All feedback and recognition features shall respect user privacy preferences (e.g., anonymous participation).
2.5.5.5 The system shall implement an automated Blacklist Validation mechanism that prevents users from saving content (Bios, Event Descriptions) containing prohibited words, providing immediate localized feedback.

2.5.6 Privacy Requirements

2.5.6.1 The system shall ask for only relevant data from the users.
2.5.6.2 The system shall provide a contract for consent on data use.

2.5.7 Activity Data Standards Requirements

2.5.7.1 The system shall store user activities (waste logging, challenge participation, goal achievements, badge earnings) in a structured, standardized format to enable future interoperability.
2.5.7.2 Activity data shall include: activity type (waste logged, challenge joined, goal achieved, etc.), timestamp, actor (user), object (waste item, challenge, goal), and result (points earned, badge unlocked).

Labs

Team Members

Weekly Reports

Ahmet Okta
Barathan Aslan
Berke Kartal
Mehmet Çağlar Kurt
Mehmet Emin Atak
Muhammet Berkay Keskin
Mustafa Taha Söylemez
Nilsu Tüysüz
Selman Akman
Ömer Faruk Bayram

Meetings

Milestones

Templates

Research on Git

Projects

Project Resources

Software Design Diagrams

Documentation(Manuals & Research Doc)


CMPE352 Archive

Projects

Project Resources

Software Design Diagrams

Documentation(Manuals & Research Doc)



Documentation(Individual Contributions and/or Milestone Report)

Individual Contributions

Meeting Notes

Clone this wiki locally