/travel-angel

Travel Angel is a web application used to safely and securely store travel documents for all of your upcoming trips.

Primary LanguageJavaScript

Travel Angel

Tests

Travel Angel is a MERN-stack web application used to safely and securely store travel documents.

Team

Github Adam Github Chris Github Maria Github Kathleen Github Dennis
Travel Angel

Technologies Used

MERN Stack

  • MongoDB - noSQL databse for storing collections.
  • Express - Web framework for Node.js.
  • React - JavaScript library for building user interface.
  • Node.js - JavaScript run-time environment

Other Notable Technologies

Organisational Tools

  • Trello (Kanban Board) - Kanban project board for managing tickets and observing workflow.
  • Google Drive - Resources collection, and documentation of Team Charter and stand-ups/retros.
  • Slack - messaging and visibility for GitHUb Pull Requests
  • Zoom - Remote Pairing & Meetings

Resources

Video Demo

For a short demonstration of all the features Travel Angel has to offer, please watch the following video.

Travel.Angel.Demo.Video.mp4

Team Approach

Section on general approach


Setting Up

Note: The following steps assume you have access to Homebrew

Pre-requisites

Install Node Version Manager (NVM)

brew install nvm

Then follow the instructions to update your ~/.bash_profile. Open a new terminal Install the latest long term support (LTS) version of Node.js, currently 16.14.2.

nvm install 16

Set-up and Running of MongoDB on your local machine

Assuming that homebrew is already installed:

brew tap mongodb/brew
brew install mongodb-community@5.0
brew services start mongodb-community@5.0
brew services list

The last command is checking that mongodb service has been started as a MacOS service, you should see something similar in your output

Name              Status  User      File
mongodb-community started your-user ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

Cloning the Repository

Clone the repository to your local machine.

git clone https://github.com/adamwoodcock98/travel-angel
cd travel-angel

Once the repository has been cloned you will be able to install the dependencies from Node Package Manager.

cd server
npm install
cd ..
cd client
npm install

Running the local server

cd travel-angel
npm run start

Navigate to localhost:3000, or if you are having issues with DNS resolution 127.0.0.1:3000.

Testing the local server

cd travel-angel
npm run start:test # Starts the test server - which has a testing database so as not to interfere with devor production databases
npm lint # Pre-test linting to expose any formatting errors
npm test:unit # Unit Tests for isolated model functionality
npm test:integration # Integration tests of end-to-end functionality

Alternatively all three of the above commands (Linting, Unit, and Integration tests) can be chained by running npm run test

Appendix