Skip to the content.

Manoa Reclaim

Table of contents

Project Pages

Milestone 1

Milestone 2

Milestone 3

Deployment

Check out our website

Overview

The Manoa Reclaim web app simplifies returning lost items like wallets and phones to their owners. It features lists of lost and found items, including their locations. Users can post lost items and browse these lists. Found items placed in specific areas, such as the Campus Center and ID Office, can have messaging disabled to streamline the recovery process. Manoa Reclaim allows people to quickly find items lost on campus and allows people to easily turn in items they find.

Mockup Pages

Manoa Reclaim Landing Page Mockup

Manoa Reclaim Register Lost Item Mockup

Manoa Reclaim Item Search Mockup

Image 1-4

User Guide

This section provides a walkthrough of the Manoa Reclaim user interface and its capabilities.

Landing Page

Here is the landing page for Manoa Reclaim.

Sign In and Sign Up

Click on the “Login” button in the upper right corner of the navbar, then select “Sign in” to go to the following page and login. You must have been previously registered with the system to use this option:

Alternatively, you can select “Sign up” to go to the following page and register as a new user. When registering on this page, we kindly request that you use a University of Hawaii email address. Only UH email addresses are accepted and cannot accommodate other email domains.

Home page

After logging in, you are taken to the home page, which presents a form where you can register or edit your lost items and show the list of these items:

Register Lost Item Page

Once you are logged in, you will find the form to register your lost item conveniently located at the navigation bar on top. You can register your lost item with some informations such as the name or type of the item, the date and location where it was lost, your contact email for when it is found, and any additional descriptive details about the item.

It also has a map so you can pin a google map to indicate in detail where you found it.

List item page

You can show the list of your lost items in List item page

Edit page

In list items, There have edit button. if you want to change the information of your lost item, you can edit from edit button.

Developer Guide

This section provides information of interest to Meteor developers wishing to use this code base as a basis for their own development tasks.

Installation

First, install Meteor.

Then, view the Project Github, and click the “Code” button.

Click the “Code” button and “Download Zip” to download the project to your local system.

Now unzip the file and use it to create a new project in your IDE of choice.

Then, cd into the app/ directory of your local copy of the project, and install third party libraries with:

Screenshot 2024-04-23 214440

Running The System

Once the libraries are installed, you can run the application by invoking the “start” script in the package.json file:

Run the system with:

meteor npm run start

Screenshot 2024-04-23 213946

Viewing the app

Go to https://localhost:3000 to see the app. If you’ve done these steps correctly, the application should now appear.

Data model

The Manoa Reclaim data model consists of two “primary” collections Lost Items and Users. To understand this design choice, consider the situation where you want to specify the location, date, and description of the lost item associated with a name of the lost item.

  1. Lost Item Collection:
    • Attributes:
      • Name of the lost item
      • Date item was lost
      • Location of lost item
      • Description of lost item
    • Description: This collection stores information about each lost item, including its name, when it was lost, where it was lost, and a description.
  2. Users Collection:
    • Attributes:
      • User profiles
        • User name
        • Email
        • Other relevant details
    • Description: Profiles represent users who interact with the system, such as those who report lost items or search for them.

Initialization

The config directory is intended to hold settings files. The repository contains one file: config/settings.development.json.

The settings.development.json file contains a field called “loadAssetsFile”. It is set to false, but if you change it to true, then the data in the file app/private/data.json will also be loaded. The code to do this illustrates how to initialize a system when the initial data exceeds the size limitations for the settings file.

Setting up IntelliJ and ESLint

Make sure that ESLint is configured correctly. Open a Javascript file such as imports/startup/client/startup.jsx. To test that ESLint is working, add 3-4 blank lines to the bottom of the file. An ESLint error should now be displayed in the right margin in red. Now delete them, and a green checkmark should reappear.

ESLint

Manoa reclaim includes a .eslintrc file to define the coding style adhered to in this application. You can invoke ESLint from the command line as follows:

meteor npm run lint

Here is sample output indicating that no ESLint errors were detected:

$ meteor npm run lint

> meteor-application-template-react@ lint /Users/user1/GitHub/Manoa-reclaim-app/app
> eslint --quiet --ext .jsx --ext .js ./imports ./tests

$

ESLint should run without generating any errors.

It’s significantly easier to do development with ESLint integrated directly into your IDE (such as IntelliJ).

Deployment Guide

This section provides instructions for deploying the Manoa Reclaim application to a production environment.

Deployment Platforms

Manoa Reclaim can be deployed to various hosting platforms, including Heroku, AWS (Amazon Web Services), DigitalOcean, and Galaxy (Meteor’s hosting platform). Consider factors like scalability, pricing, and integration capabilities when selecting a platform. But in this case we are using DigitalOcean.

Deployment Preparation

Before deploying Manoa Reclaim, ensure that your local development environment is set up and the application is running smoothly. Verify that all dependencies are installed and up to date. Review and update any environment-specific configurations, such as database connections and API keys, to ensure smooth operation in the production environment.

Deployment Methods

Choose a deployment method that best suits your workflow and platform requirements. Git-based deployments allow you to push changes to your deployment platform automatically. Containerization (Docker) enables you to package the application and its dependencies into containers for consistent deployment across environments. Alternatively, you can manually upload application files to the hosting platform via FTP or SSH.

Database Setup

If your application relies on a database, ensure the database is configured correctly for the production environment. This may involve setting up database instances, configuring access permissions, and migrating or seeding data.

Testing in Production

Thoroughly test the deployed application in the production environment to ensure functionality and performance. Conduct both manual and automated tests to validate deployment success.

Application Design

Manoa Reclaim is based upon meteor-application-template-react and meteor-example-form-react. Please use the videos documentation at those sites to better acquaint yourself with the basic application design and form processing in Manoa Reclaim.

Community Feedback

We are interested in your experience using Manoa Reclaim! If you would like, please take a couple of minutes to fill out the Manoa Reclaim Feedback Form. It contains only four short questions and will help us understand how to improve the system. Thank you!


Question: How was your experience using our website?

From our handfull of respondants, the majority of uers rated our website with an average overall experience with a few exceptions, some of which stated a rating of "okay" and another rating it "very good"

Question: Suggestions on what we should add to our website?

A few respondants stated the importance of being able to view pictures, while another would have liked to have a more interesting and creative design and layout to the website.

Question: Were there any bugs encountered while using our website?

A few users expressed confusion on the initial account registration and sign-in step of the website, stating a few steps seemed to have needed repeated action. Other users expressed no such issues.

Question: Other concerns or questions?

Responses varied from a lack of images, to the justification and alignment of text, and also issues signing in/registering

## Continuous Integration Using GitHub actions we check all merge commits to our main codebase using tests we made. ![](/images/ContinuousIntegrationBadge.png) ## Team Manoa Reclaim is designed, implemented, and maintained by Royce Cornwell, Cohen Ruport, Kai Sutton, Kaito Tateno and Austin Villanueva. [Team Contract](https://docs.google.com/document/d/1ZnShNnfNbNHlyba_1sJoq1aYW9pQSs4oBMMc9CqqCX0/edit)