Skip to content

All-in-one Melbourne Backpack cross-platform mobile application for RMIT Vietnam students to exchange and transfer to RMIT Melbourne.

Notifications You must be signed in to change notification settings

Melbourne-Backpack/melbourne-backpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Melbourne Backpack

React Native + Firebase solution for studying in RMIT Melbourne

Melbourne Backpack is released under the MIT license. Current npm package version - v16.13.1.

Demo on YouTube tnathu-ai

Overview

The name suggests a free platform that packs all necessary information about studying and living in Melbourne into a package (thus the name "Melbourne backpack") and makes it available across all mobile devices. The app, designed by RMIT students who will be transferring to RMIT Melbourne, would be ideal for anybody looking for practical tips to help them research about this information.

πŸ“ŒFeatures

This React Native + Firebase + Expo app contains a few key features that all apps backed by Fireabase support:

  • Registration with E-mail & Password
  • Login with E-mail and Password
  • Handling persisted login credentials
  • Navigating between screens (react-native-navigation)
  • Writing to Firestore Database
  • Reading from Firestore Database
  • Creating Firestore indices (for performance)
  • Uploading images to Storage
  • Viewing personlized data for each user
  • Messaging real-time with others in the Melbourne Backpack's chat forum
  • Commenting and rating on the available student living
  • Viewing online Sentiment Analysis internal rating system using reviews scraped from Google and the app user
  • Viewing real-time data Victoria transportation
  • Viewing shopping malls near CBD Melbourne
  • Viewing yours and others' profile information
  • Viewing recommended videos for starting a semester in RMIT Melbourne
  • Filtering base on the content of interest
  • Logout the system

πŸ“± Basic Screen shots

Illustration Illustration Illustration
Splash Screen Onboarding Screen SignIn Screen
Illustration Illustration Illustration
Personalization Screen: campus Personalization Screen: subjects Personalization Screen: further info
Illustration Illustration Illustration
Housing Screen: house details Housing Screen: all review's options Housing Screen: app reviews example
Illustration Illustration Illustration
Transportation Screen Shopping Screen Community Screen
Illustration Illustration Illustration
Profile Screen Copy other's member uid Screen Logout Screen

πŸ“– Documentation

Illustration Illustration
Project Proposal Final Report

Figma

Illustration
Figma for design system and prototypes on Behance

Trello

Illustration
Trello for collaboration tool that organizes our project into boards

Academic Poster

Academic Poster
Academic Poster

πŸ“‹ Requirements

This React Native app may target iOS 11.0 and Android 5.0 (API 21) or newer. You may use Windows, macOS, or Linux as your development operating system, though building and running iOS apps is limited to macOS. We used Expo to test in the development environment.

πŸŽ‰Local Environment Setup

We used WebStorm as our IDE, but an IDE is not needed if you only want to run the project. Please ensure that you have node v16.13.1, expo-cli 5.3.0 installed on your system. No other software or libraries are required.

  • Step 1: git clone https://github.com/Melbourne-Backpack/melbourne-backpack.git OR Download ZIP & Unzip .zip file to a location of your choice.
  • Step 2: Use the command line to navigate to the folder mentioned above, E.g. cd melbourne-backpack/
  • Step 3: Run npm install: Install NPM packages with your package manager of choice
  • Step 4: Start the app, and run npm start from the project's root.
  • Step 5: Download the Expo app on your phone
  • Step 6: Scan the QR code in the terminal and open the app on Expo

The .csv and .json database files that we gave you for Firebase reference can be found in https://github.com/Melbourne-Backpack/datasets.git in our organization

πŸ§‘β€πŸ€β€πŸ§‘AuthorsπŸ‘­


Tran Ngoc Anh Thu

Project Manager, Designer, Full Stack Developer

Doan Yen Nhi

Full Stack Developer, Github Administrator

Du Duc Manh

Full Stack Developer, Meeting Minutes Taker

Nguyen Hoang Linh

Full Stack Developer, Github Administrator

Folder Structure & Architecture

β”œβ”€β”€ __tests__                   // test for components, services etc. inside of related folder.
β”‚   β”œβ”€β”€ App-test.js
|
β”œβ”€β”€ node_modules
|
β”œβ”€β”€ .gitignore                  // Used by git to determine what files to ignore, when committing changes.
|
β”œβ”€β”€ assets                      // store all images, vectors, fonts, etc.
β”‚  β”œβ”€β”€ images
|
β”œβ”€β”€ reports                     // contains project's documentations
β”‚  β”œβ”€β”€ Project Proposal.pdf
|
β”œβ”€β”€ src                         // main container of all the code inside your application.
β”‚   β”œβ”€β”€ api
β”‚   β”‚  β”œβ”€β”€ getData
β”‚   β”‚  β”œβ”€β”€ handleData.js
β”‚   β”‚  β”œβ”€β”€ handleData.js
|   |   
β”‚   β”œβ”€β”€ components              // store any common component that you use through the app (e.g: alert modal)
β”‚   β”‚  β”œβ”€β”€ atoms
β”‚   β”‚  β”œβ”€β”€ molecules
β”‚   β”‚  β”œβ”€β”€ organisms
|   |
β”‚   β”œβ”€β”€ config                  // Firebase configuration
β”‚   β”‚  β”œβ”€β”€ firebase.js
|   |
β”‚   β”œβ”€β”€ navigations                   // store the navigators
β”‚   β”‚  β”œβ”€β”€ AppNavigator.js            // RootNavigator
β”‚   β”‚  β”œβ”€β”€ content-navigator.js       // AppNavigator
|   |
β”‚   β”œβ”€β”€ screens
β”‚   β”‚  β”œβ”€β”€ login
β”‚   β”‚  β”‚	 β”œβ”€β”€ index.js // LoginScreen
β”‚   β”‚  β”œβ”€β”€ home
β”‚   β”‚  β”‚	 β”œβ”€β”€ index.js // HomeScreen
β”‚   β”‚  β”œβ”€β”€ about
β”‚   β”‚  β”‚	 β”œβ”€β”€ index.js // AboutScreen
|   |
β”‚   β”œβ”€β”€ styles
β”‚   β”‚  β”œβ”€β”€ index.js        // Export all
β”‚   β”‚  β”œβ”€β”€ colors.js       // Colors pallet
β”‚   β”‚  β”œβ”€β”€ spacing.js      // Paddings, margins and scale
β”‚   β”‚  β”œβ”€β”€ typography.js   // Fonts types and sizes
|   |
β”‚   β”œβ”€β”€ utils              // store any common function such as calcutate distance, different date and string formatting functions
β”‚   β”œβ”€β”€ index.js
|
β”œβ”€β”€ App.js                 // Main component that starts the whole app.
β”œβ”€β”€ app.json
β”œβ”€β”€ babel.config.js
β”œβ”€β”€ package.json
└── README.md                   // The first page the user will see when visiting the repo.

Modify the environment variables files in root folder .env file

πŸ“„ License

This mobile application is MIT licensed, as found in the LICENSE file.

React Native documentation is Creative Commons licensed, as found in the LICENSE-docs file.

About

All-in-one Melbourne Backpack cross-platform mobile application for RMIT Vietnam students to exchange and transfer to RMIT Melbourne.

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published