About • Features • How it works • Tech Stack • User Scenarios • Contributors • Test Coverage
Lost and found website is designed to help users find lost items by allowing them to report lost items, search for found items, and connect with others in their community.
- Users can post any item they found
- Users can search in item lost catalogue and request the user for return.
- Connect and chat with the item founder and approved user
- Return the found item and earn rewards
The project is divided into two parts:
- Backend
- Frontend
Before you begin, you will need to have the following tools installed on your machine:
- Frontend - VS Code
- Backend - Intellj IDEA
# Clone this repository
$ git clone https://git.cs.dal.ca/courses/2023-fall/csci-5308/Group07
# Access the project folder in your terminal
$ cd frontend/lost-and-found
# Install the dependencies
$ npm install
# Run the application in development mode
$ npm run start
# The application will open on the port: 3000 - go to http://localhost:3000
# Create docker image of frontend application
$ docker build -t <your_dockerhub_username>/lost-and-found:latest-fe -f ./frontend/LostAndFound/Dockerfile ./frontend/LostAndFound
# Push the docker image to Docker hub.
$ docker push lost-and-found:latest-fe
# Pull the docker image from Docker hub to your server.
$ docker pull docker.io/<your_dockerhub_username>/lost-and-found:latest-fe
# Run the docker command to start the frontend application on your server.
$ docker run -d -p 3000:3000 --name lost-and-found-frontend docker.io/<your_dockerhub_username>/lost-and-found:latest-fe
# Access the project folder in your terminal
$ cd Backend/LostAndFound
# Build the project
$ mvn clean install
# Run the Spring Boot application
$ mvn spring-boot:run
# Create docker image of backend application
$ docker build -t <your_dockerhub_username>/lost-and-found:latest-be -f ./Backend/LostAndFound/Dockerfile ./Backend/LostAndFound
# Push the docker image to Docker hub.
$ docker push lost-and-found:latest-be
# Pull the docker image from Docker hub to your server.
$ docker pull docker.io/<your_dockerhub_username>/lost-and-found:latest-be
# Run the docker command to start the backend application on your server.
$ docker run -d -p 8080:8080 --name lost-and-found-backend docker.io/<your_dockerhub_username>/lost-and-found:latest-be
The following tools were used in the construction of the project:
- A JavaScript library for building user interfaces.
- A Java-based framework for building web applications and microservices.
- A NoSQL database for storing and retrieving data.
- @emotion/react: ^11.11.1
- @emotion/styled: ^11.11.0
- @mui/icons-material: ^5.14.18
- @mui/material: ^5.14.18
- @testing-library/jest-dom: ^5.17.0
- @testing-library/react: ^13.4.0
- @testing-library/user-event: ^13.5.0
- axios: ^1.5.1
- bootstrap-icons: ^1.11.1
- cross-env: ^7.0.3
- dotenv: ^16.3.1
- firebase: ^10.5.0
- leaflet: 1.7.1
- leaflet-geosearch: 3.2.1
- leaflet-search: ^4.0.0
- lodash: ^4.17.21
- react: ^17.0.2
- react-bootstrap: ^2.9.0
- react-bootstrap-icons: ^1.10.3
- react-bootstrap-toggle: ^2.3.2
- react-dom: ^17.0.2
- react-footer-comp: ^3.0.1
- react-icons: ^4.11.0
- react-leaflet: 3.1.0
- react-redux: ^8.1.3
- react-router-dom: ^5.3.4
- react-scripts: 5.0.1
- react-scroll: ^1.9.0
- react-toastify: ^9.1.3
- redux: ^4.2.1
- redux-thunk: ^2.4.2
- uuid: ^9.0.1
- validator: ^13.11.0
- web-vitals: ^2.1.4
- Spring Boot Starter Parent Version: 2.7.16
- Java Version: 17
- Auth0 Spring Security API Version: 1.5.2
- JUnit Jupiter API Version: 5.10.1
- Spring Boot Starter Data MongoDB Version: 3.1.4
- Lombok Version: 1.18.30
2. **Login Screen** ![login](https://firebasestorage.googleapis.com/v0/b/lostnfound-7c21c.appspot.com/o/github-readme%2Fimage11.png?alt=media&token=c742bf48-2bd1-476a-8ee1-cd6ce59267d3)
-
Home Screen
-
Report Lost Item User can report lost items by entering following details:
- Name of item
- Item Description
- Category
- Upload images/videos related to item
- Last seen location of item Users can edit the details of posted lost items
-
Report Found Item User can report found items by entering following details:
- Name of item
- Item Description
- Category
- Upload images/videos related to item
- Location at which item was found
-
Lost catalogue (List of items found by all users) User can search found items by applying following filters:
- Keyword (Present in title and description)
- Date
- Category
- Location with radius
-
Raise claim request by linking your lost item
![claimlink](https://firebasestorage.googleapis.com/v0/b/lostnfound-7c21c.appspot.com/o/github-readme%2Fimage17.png?alt=media&token=90a7a152-9b04-42c1-b63b-fd576264d0b2)
<span>
- List of claim request received
- Chats
-
Users can only chat with users only if claim request is accepted
-
Owner confirming the return of item Requested user can only see confirm return button, when founder approves the requester as owner
-
- Class Coverage: 96% (24/25)
- Method Coverage: 95% (134/141)
- Line Coverage: 96% (353/367)
Meet the team behind the Lost and Found project:
-
Heramb Kulkarni [email protected] Heramb Kulkarni
-
Angel Christian [email protected] Angel Christian
-
Aman Desai [email protected] Aman Desai
-
Harsh Mehta [email protected] Harsh Mehta
-
Tirth Bharatiya [email protected] Tirth Bharatiya