GardenSync (Community Garden Management System - CGMS) is a web-based software solution designed to simplify the management of community gardens. The system enables administrators, garden managers, and volunteers to efficiently organize gardens, manage plots, register volunteers, track harvests, and monitor gardening activities from a centralized platform.
This project was developed as part of the Software Management and Development course at the University of Palestine, following a complete Software Development Life Cycle (SDLC) process.
Community gardens are often managed using spreadsheets and paper forms, making it difficult to organize volunteers, monitor crops, and maintain accurate records.
GardenSync digitizes these processes by providing a centralized management platform that allows organizations to:
- Manage multiple community gardens
- Organize garden plots
- Register and manage volunteers
- Track volunteer working hours
- Record harvests
- Generate dashboard summaries
- Maintain secure user management
- Replace manual garden management processes.
- Improve volunteer coordination.
- Simplify plot and crop tracking.
- Record harvest history.
- Provide role-based system access.
- Improve data accuracy and organization.
- Manage user accounts
- Assign user roles
- Activate or deactivate users
- Maintain system security
- Create and manage gardens
- Manage garden plots
- Record harvests
- Invite volunteers
- Monitor volunteer activities
- View dashboard statistics
- Browse available gardens
- Register for a garden
- Log volunteer hours
- View registration status
- Deregister when needed
- User Authentication
- Login / Logout
- Password Reset
- Role-Based Access Control
- User Administration
- Create Garden
- Edit Garden
- Archive Garden
- Manage Garden Capacity
- Garden Dashboard
- Add Garden Plots
- Record Crop Information
- Update Plot Status
- Planting Date Tracking
- Harvest Status
- Browse Gardens
- Search & Filter Gardens
- Register for Garden
- Capacity Validation
- Log Volunteer Hours
- Deregistration
- Record Harvest
- Harvest History
- Seasonal Statistics
- Dashboard Summaries
GardenSync
β
βββ User Management
βββ Garden Management
βββ Plot Management
βββ Volunteer Management
βββ Harvest Logging
GardenSync follows a ClientβServer Architecture, separating the application into three main layers:
- Presentation Layer (UI)
- Application Layer (Business Logic)
- Data Layer (Database)
- Easy maintenance
- Centralized data management
- Better scalability
- Improved security
- Supports multiple concurrent users
Main database entities include:
- User
- Garden
- Plot
- Volunteer Registration
- Volunteer Hours
- Harvest Log
These entities are connected using relational database principles to maintain data integrity and consistency.
The prototype includes professionally designed UI screens for:
- Login
- Garden Manager Dashboard
- Profile Information
- Create Garden
- My Gardens
- Volunteer Management
- Invite Volunteer
- Harvest Dashboard
- Volunteer Dashboard
- Garden Registration
- Registration Confirmation
- Password Hashing
- HTTPS Communication
- Session Expiration
- Role-Based Authorization
- Secure Authentication
- User Authentication
- Role Management
- Garden CRUD Operations
- Plot Management
- Volunteer Registration
- Harvest Recording
- Dashboard Analytics
- Responsive Interface
- High Availability
- Fast Performance
- Scalability
- Maintainability
- Security
- Cross-Browser Compatibility
The project includes multiple testing phases:
- Login
- Garden Creation
- Volunteer Registration
- Form Validation
- Capacity Checking
- Volunteer Sign-up Workflow
- Registration Validation
- Deregistration
- Navigation Testing
- Access Control
- Input Validation
- Injection Prevention
- Authentication Security
Example bugs documented:
- Login validation issue
- Incorrect registration dialog data
- Form validation inconsistencies
Each bug includes:
- Bug ID
- Description
- Severity
- Steps to Reproduce
- Expected Result
- Actual Result
- Figma
- Software Requirements Specification (SRS)
- System Design Document
- UML Diagrams
- Testing Documentation
- Client-Server Architecture
β Software Requirements Specification (SRS)
β Stakeholder Analysis
β Functional Requirements
β Non-functional Requirements
β Use Case Diagram
β MoSCoW Prioritization
β High-Level Design (HLD)
β Low-Level Design (LLD)
β Database Design
β Class Diagram
β UI/UX Prototype
β Testing Plan
β Bug Reports
Course
Software Management and Development
University
University of Palestine
Department
Software Engineering
- Haitham Mohammed Abu Draz
- Khalil Mamdouh Abu Agina
- Anas Suhail Omar
- Ahmed Jehad Al-Mobayed
Supervisor:
Dr. Hanin Alqam
- Email Notifications
- SMS Notifications
- Interactive Garden Maps
- Mobile Application
- QR Code Volunteer Check-In
- Harvest Analytics Dashboard
- Weather Integration
- AI Crop Recommendation
- AI Harvest Prediction
- Volunteer Performance Analytics
This repository is intended for academic and educational purposes.
If you found this project useful, consider giving the repository a β on GitHub.
Made with β€οΈ by the GardenSync Team