Skip to content

euzhengxi/plus-one

 
 

Repository files navigation


Logo

+1

I am getting Liho later, who want? +1!
View Demo

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Challenges
  6. Acknowledgments

About The Project


Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Installation

  1. Clone the repo
    git clone https://github.com/thebadone231/plus-one
  2. Install NPM packages
    npm install
  3. Run the repo
    npm start

(back to top)

Usage

Login page

Login page 1 Login page 2 Login page 3 Login page 4

Signup page

Signup page 1 Signup page 2 Signup page 3 Signup page 4

Forget password page

Forgot password page 1 Forgot password page 2

Holding page to be replaced by main interface

Holding page 1 Holding page 2

(back to top)

Roadmap

1. Navigation across different screens

Users are able to navigate to different screens by clicking on the corresponding icons or words. This is made possible using the onPress function that calls the backend routing functions when users interact with these pressables.

2. Secure Authentication Interface

Before users are allowed access to the services in the application, they will be required to authenticate their identity by keying in the email and password they registered with the application. This information submitted by the user will be cross referenced with that stored in the Firebase authentication server. Once Firebase has ascertained that the veracity of the password provided, users will be directed to the main interface of the application.

3. Writing data to Firebase database

New users will be required to register themselves via the “New User” screen in the application. After all necessary fields have been filled up correctly, this information will be written in the Firebase database. This information will be retrieved and rendered in the main interface each time the user logs in to the application.


Challenges

1. Reading information retrieved from the database

While information within each query could be processed using basic knowledge on data structures, custom methods created for Firebase provided a more efficient alternative that was also much easier to understand. Hence, a substantial amount of time was spent on experimenting with different methods to investigate how to best process this information so that it can utilised for algorithms we intend to implement in future.

2. Structuring the database

Deciding what information is necessary, including those required for features yet to be implemented, was the first issue we had to tackle. We recognise that how the data is structured will impact how we read and process the information in future. Hence, a significant amount of time was dedicated towards determining how to structure this information in the most logical and efficient manner. In addition, we also had to devise workarounds in response to the restrictions imposed by how Firebase databases are organised.

3. Rendering alert component

Alerts are incorporated as part of the UI design as they can serve as important visual cues to guide users around the application. While these alerts could be rendered in expo, they could not be rendered when deployed in heroku. We are in the process of resolving this issue. Please refer to the screenshots above on the alerts that are already implemented in the application.

(back to top)


Acknowledgments

(back to top)

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Procfile 0.1%