University of Asia Pacific
Department of Computer Science & Engineering
Software Engineering Lab
CSE 322
Project Report 1
Submitted From :
Name Registration Id Section
Abdullah Al Ikram A1
Md Khaleduzzaman 22101022 A1
Lamia Qurisy 22101020 A1
Tithi Rani 22101015 A1
Submitted To :
Name : Tahmid Taki Rahman
Designation : Lecturer
Project : SwapCycle(A Sustainable Exchange Platform)
Effect on Society
SwapCycle will significantly benefit society by:
- Reducing Waste: Encouraging item reuse instead of disposal.
- Promoting Sustainability: Supporting a circular economy and reducing
environmental harm.
- Strengthening Community Bonds: Connecting people with shared
values of sustainability.
- Financial Savings: Helping individuals save money by obtaining second-
hand goods for free or at a lower cost.
- Educating Users: Raising awareness about responsible consumption
and waste reduction.
Requirement Analysis
Functional Requirements
These define what the system should do:
1. User Management
○ Users can register, log in, and manage their profiles.
○ Implement authentication and authorization mechanisms.
○ Support different user roles (e.g., admin, regular user, moderator).
2. Item Listing & Exchange
○ Users can list items for exchange, including images, descriptions,
and conditions.
○ Ability to browse, search, and filter listed items based on categories,
condition, and location.
○ Users can propose an exchange for an item and negotiate with the
owner.
3. Exchange Process & Approval
○ Users can send and receive exchange requests.
○ A system for tracking pending, accepted, and declined exchanges.
○ Users can communicate within the platform (e.g., chat or messaging
system).
4. Sustainability Metrics & Rewards
○ Track successful exchanges and calculate environmental impact
(e.g., CO2 savings).
○ Reward users with points or badges based on participation.
5. Reviews & Ratings
○ Users can leave feedback on completed exchanges.
○ Rating system for items and users to maintain trust.
6. Notifications & Alerts
○ Real-time notifications for new messages, exchange requests, and
status updates.
○ Email and push notifications for critical updates.
7. Admin Panel
○ Manage users, listings, and reported content.
○ Monitor platform activity and generate reports.
8. Security & Privacy
○ Encrypt user data and ensure secure transactions.
○ Allow users to control privacy settings (e.g., visibility of contact
details).
Non-Functional Requirements
These define system quality attributes and constraints:
1. Performance
○ The platform should handle multiple concurrent users smoothly.
○ Fast response times (<2 seconds for common actions).
2. Scalability
○ Should support growth in user base and listings.
○ Capable of horizontal scaling to accommodate increased demand.
3. Availability & Reliability
○ The platform should have 99.9% uptime.
○ Automatic recovery from failures.
4. Usability
○ Intuitive and user-friendly interface.
○ Responsive design for accessibility on web and mobile devices.
5. Security
○ Implement secure authentication (e.g., OAuth, multi-factor
authentication).
○ Protection against SQL injection, XSS, and CSRF attacks.
6. Maintainability & Modularity
○ Code should be modular for easy updates and feature additions.
○ Proper documentation for future development.
7. Compliance & Legal
○ Adhere to data protection laws (e.g., GDPR, CCPA).
○ Implement terms of service and community guidelines.
Methodology
Here’s an Agile Methodology Plan for SwapCycle (A Sustainable
Exchange Platform) using the Scrum framework with sprints.
Agile Methodology for SwapCycle
1. Project Phases in Agile
Phase Key Activities
Initiation & Planning Define scope, stakeholders, and user stories. Set
up an Agile team.
Sprint Planning Break down features into sprints (2-4 weeks per
sprint).
Development & Iterations Develop features in small increments. Prioritize
based on user needs.
Testing & Feedback Continuous testing, bug fixes, and improvements.
Deployment & Scaling Continuous testing, bug fixes, and improvements.
2. Agile Framework: Scrum
● Sprint Duration: 2 weeks
● Roles:
○ Product Owner – Defines priorities & backlog.
○ Scrum Master – Ensures Agile processes.
○ Development Team – Engineers, designers, QA.
● Ceremonies:
○ Sprint Planning – Define goals for the sprint.
○ Daily Standups – Short meetings for progress updates.
○ Sprint Review – Demonstrate completed work.
○ Sprint Retrospective – Discuss improvements.
3. Sprint Breakdown (6 Sprints Example)
Sprint 1: Core Platform Setup (Foundation)
● User Registration & Authentication (OAuth, email, password)
● Profile Management (Edit profile, settings)
● Role-based Access Control (Admin, user)
Sprint 2: Item Listing & Browsing
● Users can list items with images, descriptions, and categories
● Search, filter, and sort items
● User dashboard for managing listed items
Sprint 3: Exchange & Communication System
● Request item exchange and negotiate deals
● In-app messaging between users
● Exchange request status tracking (pending, accepted, declined)
Sprint 4: Reviews, Ratings & Notifications
● User and item rating system
● Review system for completed exchanges
● Real-time notifications (exchange requests, messages)
Sprint 5: Sustainability Metrics & Gamification
● Track environmental impact per exchange (CO2 savings, waste
reduction)
● Implement reward points & badges for sustainable behavior
Sprint 6: Security, Performance & Deployment
● Secure data encryption & compliance (GDPR, CCPA)
● Performance optimizations (faster load times, scalable
architecture)
● MVP deployment & user feedback integration
4. Continuous Improvement & Scaling
● Post-MVP Enhancements: Add AI-based item matching, mobile
app integration.
● Bug Fixes & Maintenance: Continuous iteration based on user
feedback.
● Scalability: Optimize backend for high traffic.
Thank You