-
Notifications
You must be signed in to change notification settings - Fork 12
updated and added more information to readme #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -4,13 +4,13 @@ Welcome to the **Lost & Found Community Platform**, developed by the **Lost No M | |||||||
|
|
||||||||
| ## What is this project? | ||||||||
|
|
||||||||
| The Lost & Found Community Platform (Lost No More) is a web application that helps the University of Auckland community report, search for, and recover lost and found items. Users can register, post item listings with photos and locations, search and filter listings, and message other users to arrange returns. | ||||||||
| The Lost & Found Community Platform (Lost No More) is a web application that helps the University of Auckland community report, search for, and recover lost and found items. Users can register, post item listings with photos and locations, search and filter listings, and communicate with other users to arrange returns. | ||||||||
|
|
||||||||
| ## Why is this project useful? | ||||||||
|
|
||||||||
| - Centralises lost & found reports in a searchable, shareable platform. | ||||||||
| - Speeds up item recovery with notifications and location tagging. | ||||||||
| - Provides moderation controls and privacy-conscious features to reduce misuse. | ||||||||
| - Speeds up item recovery with location tagging and user communication. | ||||||||
| - Provides a community-driven approach to item recovery. | ||||||||
|
|
||||||||
| ## Prerequisites | ||||||||
|
|
||||||||
|
|
@@ -20,26 +20,46 @@ The Lost & Found Community Platform (Lost No More) is a web application that hel | |||||||
|
|
||||||||
| --- | ||||||||
|
|
||||||||
| ## π Features (Assignment 1 - A1) | ||||||||
| ## π Features | ||||||||
|
|
||||||||
| - πΈ **Item Reporting**: Upload photos and details of lost or found items. | ||||||||
| - π° **Lost Items Feed**: Browse a real-time feed of all reported lost items on campus. | ||||||||
| - π **Search & Filtering**: Search listings by type, date, or location quickly. | ||||||||
| - π§Ύ **User Profiles**: Track your lost/found and claimed item history. | ||||||||
| - π’ **Campus Notices**: Post alerts and policy updates. | ||||||||
| ### Core Functionality | ||||||||
| - πΈ **Item Reporting**: Upload photos and details of lost or found items with location tracking | ||||||||
| - π° **Item Feed**: Browse all reported lost and found items on campus | ||||||||
| - π **Search & Filtering**: Search listings by type, location, and status | ||||||||
| - πΊοΈ **Interactive Maps**: View and select locations using Leaflet maps with coordinates | ||||||||
| - π§Ύ **User Profiles**: User profiles with lost/found item history and contact information | ||||||||
| - π’ **Campus Announcements**: Post and view campus-wide announcements (staff/admin only) | ||||||||
| - π¬ **Messaging System**: Direct messaging between users for item recovery coordination | ||||||||
| - π **Notification System**: Notification bell component for user updates | ||||||||
| - βοΈ **Notification Settings**: Notification preferences page for users | ||||||||
|
|
||||||||
| --- | ||||||||
|
|
||||||||
| ## π οΈ Tech Stack | ||||||||
|
|
||||||||
| - **Frontend**: React + Tailwind CSS | ||||||||
| - **Auth / Database / Storage**: Firebase β the app uses Firebase Authentication for user sign-in, Cloud Firestore for application data, and Firebase Storage for item images. | ||||||||
| - **Backend**: Node.js + Express β a lightweight API server is included (health endpoints). The frontend currently communicates directly with Firebase; the backend contains minimal Express code and `firebase-admin` is available in package.json for optional server-side admin tasks. | ||||||||
| - **Image Uploads**: Cloudinary β used for efficient image storage, transformation, and delivery. Item images are uploaded to Cloudinary before being referenced in the app. | ||||||||
| - **Image Upload API**: The backend uses Cloudinary and Multer to handle secure image uploads. Images are uploaded from the frontend to the backend API, which processes them with Multer and stores them in Cloudinary. The resulting Cloudinary URLs are saved in Firestore and referenced in item listings. | ||||||||
| - **CI/CD / Analysis / Security**: GitHub Actions, SonarLint/SonarCloud, and Snyk are listed as tooling that can be used for CI and quality checks. | ||||||||
| ### Frontend | ||||||||
| - **React** - Modern React with hooks, routing (React Router DOM 6.30.1), and UI components (Lucide React 0.540.0) | ||||||||
| - **Tailwind CSS** - Utility-first CSS framework for responsive design | ||||||||
| - **Leaflet + React Leaflet** - Interactive maps for location services | ||||||||
| - **Firebase** - Client-side Firebase SDK for authentication and data | ||||||||
|
|
||||||||
| > Note: PostgreSQL + PostGIS, Elasticsearch, AWS S3, and a JWT-based authentication backend are mentioned in earlier planning notes but are not implemented in this repository's current codebase β the project presently relies on Firebase for auth, data, and storage. These components remain possible future alternatives. | ||||||||
| ### Backend | ||||||||
| - **Node.js + Express** - JavaScript runtime and web framework | ||||||||
| - **Firebase Admin** - Server-side Firebase SDK for admin operations | ||||||||
| - **Cloudinary** - Cloud-based image and video management | ||||||||
| - **Express Middleware** - Multer (file uploads), CORS, UUID generation | ||||||||
|
||||||||
| - **Express Middleware** - Multer (file uploads), CORS, UUID generation | |
| - **Express Middleware** - Multer (file uploads), CORS | |
| - **Utilities** - uuid (ID generation) |
Copilot
AI
Oct 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grammatical/clarity issue: 'and data' is incomplete and ambiguous. Recommend rephrasing to clearly state what Firebase provides.
| - **Firebase** - Firestore (NoSQL database), Authentication, and data | |
| - **Firebase** - Firestore (NoSQL database), Authentication, and Cloud Storage |
Copilot
AI
Oct 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This statement appears duplicated in both 'Completed Features' and 'Development Metrics'. Consider removing one or rephrasing to avoid repetition.
| - **Testing** - Test suite across 10 major components | |
| - **Testing** - Comprehensive test suite implemented |
Copilot
AI
Oct 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This statement appears duplicated in both 'Completed Features' and 'Development Metrics'. Consider removing one or rephrasing to avoid repetition.
| - **Test Coverage**: Test suite across 10 major components | |
| - **Test Coverage**: High coverage across all major components |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Redundant phrasing ('User Profiles: User profiles ...'). Consider tightening to avoid repetition, e.g., '- π§Ύ User Profiles: Manage lost/found item history and contact information'.