Empowering communities by reducing food waste and feeding those in need.
Developed as part of the Software Engineering course at Baku Higher Oil School.
NourNet is a mobile-first Food Waste Management and Donation platform that connects food donors—restaurants, grocery stores, and individuals—with people or organizations in need. The app facilitates real-time food listing, claiming, and geolocation-based coordination while emphasizing security, trust, and sustainability.
It contributes to the UN Sustainable Development Goals:
- 🧑🤝🧑 No Poverty
- 🍽️ Zero Hunger
- ⚖️ Reduced Inequality
- 🔐 Secure Authentication with Firebase (including 2FA)
- 📦 Food Listing & Claiming in real time
- 📍 Geolocation-Based Matching via Google Maps
- ⏰ Food Expiration Notifications
- 📊 Donation Impact Tracker
- 💬 User Reviews & Ratings
- 🎮 Gamification & Rewards System
- 🌐 Multi-language Support
- 🚚 Volunteer Coordination for Pickups
- 🛡️ Data Privacy & AES-256 Encryption
Layer | Technology |
---|---|
Frontend | Kotlin (Android Studio) |
Backend | Firebase (Auth, Firestore, Realtime DB) |
Location | Google Maps API |
Local Storage | Room Database |
Security | Firebase Auth, AES-256, HTTPS |
CI/CD | GitLab Pipelines (Planned Integration) |
Phase | Duration |
---|---|
Requirements & Research | Jan 24 – Jan 31, 2025 |
UI/UX Design & Prototyping | Feb 1 – Feb 14, 2025 |
Core System Development | Feb 15 – Mar 21, 2025 |
Testing & Debugging | Mar 22 – Apr 4, 2025 |
Deployment & User Training | Apr 5 – Apr 11, 2025 |
- Clone the repository
git clone https://github.com/VNarmin/NourNet.git
- Open the project in Android Studio.
- Configure Firebase project and get your google-services.json.
- Set up Maps API key in AndroidManifest.xml.
- Build and run the app on an emulator or Android device.
- 🧾 Secure user authentication
- 🔐 AES-256 encryption at rest
- 🧪 2FA & session expiration
- 🛡️ Role-based access control (RBAC)
- 🧠 Rate limiting, CAPTCHA, anti-abuse systems
- 🤖 AI-driven donation suggestions
- 📦 Integration with local logistics services
- 📱 iOS version with Kotlin Multiplatform
- 🔗 Blockchain donation transparency
- 📊 Admin analytics dashboards
- 🍲 Reduce food waste
- 🧍♂️ Support food-insecure individuals
- 🌿 Decrease carbon footprint
- 🧠 Educate users on sustainability
Snyk Integration – SAST Scanning We integrated Snyk into our GitLab CI/CD pipeline to perform Static Application Security Testing (SAST). Snyk continuously scans the codebase for vulnerabilities in both custom code and open-source dependencies.
- 🔎 Detects known vulnerabilities
- 🔒 Suggests remediations
- 📉 Prevents insecure code from merging
We utilize GitLab’s Secure DevOps tools to automate security testing and maintain a comprehensive Security Dashboard. This includes:
- ✅ SAST (Snyk, GitLab)
- 📦 Dependency Scanning
- 🔍 Secret Detection (Gitleaks)
- 🧪 Mobile Security Testing (MobSF)
⚠️ Container Scanning (Planned)
GitLab aggregates results in a unified dashboard for faster vulnerability triage:
Project Team:
- Nigar Abasli — Security & Research Lead
- Narmin Valiyeva — Developer & UI/UX Designer
- Shahana Huseynzade — Developer & Analyst
Instructor:
- Khayyam Masiyev
Institution:
- Baku Higher Oil School
Course:
- Software Engineering