Manoa Reclaim
Table of contents
- Overview
- User Guide
- Developer Guide
- Deployment Guide
- Deployment
- Projects
- Team
- Continuous Integration
- Mockup pages
- Feedback
Project Pages
Deployment
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
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:
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
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.
- 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.
- Attributes:
- Users Collection:
- Attributes:
- User profiles
- User name
- Other relevant details
- User profiles
- Description: Profiles represent users who interact with the system, such as those who report lost items or search for them.
- Attributes:
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)