Skip to content
/ SSH Public

A React Native App for UCSD students to post and find houses, apartments, and roommates with ease.

Notifications You must be signed in to change notification settings

zhukaihan/SSH

Repository files navigation

Student and Student Housing

Table of Contents

  1. Overview
  2. Product Specifications
  3. Wireframes
  4. Installation

Overview

Description

Our development team is SSH, a project team for CSE 110 in Spring 2019. We are creating a React Native app named Student and Student Housing (SSH) that would help UCSD students find off-campus houses. The app will support functionalities such as finding roomates, searching for houses, posting housings, and messaging. The app will showcase similar information as Airbnb.

This React Native app uses Expo managed workflow with Google Firebase as backend. The user needs to have a valid "@ucsd.edu" email address with G Suite registered by UCSD.

Website: http://ssh.zhukaihan.com

Github: https://github.com/zhukaihan/SSH

Expo Public Project: https://expo.io/@zhukaihan/SSH

Testflight: https://testflight.apple.com/join/EZsDgIDu

App Evaluation

  • Category: Service
  • Mobile: This app would be developed for both android and IOS using Rect Native.
  • Story: The application allows you to create a user profile and start input the user's personalities. User Data is pushed to the application and processed into an easily digestible form for users.
  • Market: UCSD students who have trouble finding, subleasing or renting houses.
  • Habit: This app would ideally be used at least once a day
  • Scope: TODO

Team members

Name Role
Alyssa Ramiro Project Manager
Thomas Wan Business Analyst
Brenna Dimalanta Senior Systems Analyst
Kaihan “Peter” Zhu Software Architect
Yu “Tim” Tai Wang Software Development Lead
Brian Wang Algorithm Specialist
Yubo “Mark” Chen Database Specialist
Jiaxuan Ren Database Specialist
Yingjian “Patrick” Pei Quality Assurance Lead
Siqiao “Clark” Ruan User Interface Specialist
Weijin Xu User Interface Specialist

Product Specifications

1. User Stories

Required Must-have Stories

  • User logs in to home page and other pertinent information
  • User edits posts/roomates
  • Application analyzes data and shows real time feedback
  • Profile page
  • Settings (Accesibility, Notification, General, logout etc.)

Optional Should-have Stories

Absolutely Won't-have Stories

2. Screen Archetypes

  • Login
  • Register
  • Profile Screen
  • Summary Screen
  • Settings Screen

3. Navigation

Tab Navigation (Tab to Screen) Flow Navigation (Screen to Screen)

4. Models

User Object

Field Type Description
UserId String The unique ID of the user
FirstName String The first name of the user
LastName String The last name of the user
PreferredName String The preferred name of the user
Gender String The gender of the user
Major String The major of the user
YearInCollege String the number of years that user spends in UCSD
Interests and Hobbies String The interests or hobbies that user have
Description String a brief bio about the user

Other models are located inside /Models folder.

Digital Wireframes

Alt text

Installation

Fresh Installation:

git pull everything in this repository. Then...

rm -r node_modules
rm package-lock.json
npm install

You should be good to go.

The package.json has been tested to be issue-free. After each pull, always reinstall

Installation Issues

#f03c15 If any issue occurs, always try to remove node_modules and package-lock.json and npm install first. If the issue does not resolve, try the following steps. The following steps would be the last you want to try.

#f03c15 DO NOT use npm install or npm remove individual components unless you are adding dependency to the project. Otherwise, it will break the package.json and leaves issues for others when they pulled.

#f03c15 The following steps should resolve installation issues 99% of the time.

rm -r node_modules
rm package-lock.json
git pull
npm install

Remove only node_modules is not enough, remove package-lock.json as well because package-lock.json is customized for individual devices.

If this fails to resolve the issue, then follow the following steps.

However, if you encountered the following issue:

Unable to resolve module 'react-native-keyboard-aware-scroll-view'

This is a new dependency. Be sure to remove node_modules and package-lock.json and npm install before using the following step.

npm install --save react-native-keyboard-aware-scroll-view

However, if you encountered the following issue:

You should not have this issue if you have removed both node_modules and package-lock.json before npm install.

Unable to resolve module 'react-native-gesture-handler'

npm install react-native-gesture-handler

Expo should already included react-native-gesture-handler. You can check this with:

npm list react-native-gesture-handler

However, if you encountered the following issue:

The react-native-gesture-handler comes with expo. There should be no separate react-native-gesture-handler in your package.json. Otherwise, the following error will appear. This issue should not appear if you have the up-to-date package.json.

Tried to register two views with the same name RNGestureHandlerButton

rm -r node_modules
rm package-lock.json
git pull
npm install

If the issue persist,

rm -r node_modules/expo/node_modules/react-native-gesture-handler

About

A React Native App for UCSD students to post and find houses, apartments, and roommates with ease.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published