CoryLHarris / pangea

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Welcome to Pangaea

Looking to learn a language? Studies show that the best way to learn a language is to have conversations daily. Pangaea facilitates those conversations for you. Our web application allows users to communicate with native speakers and schedule a meet up, or just chat in real time.

Visit our website here: www.pangaea.com

Our team of software engineers was approached by a client who asked us to build what would become the Pangaea web application. We were given feedback throughout and two weeks to initially deploy the application.

We chose a monolithic architecture. Below are links to our documentation to our process, user stories, technology stack, instructions for getting started, our workflow and ticketing approach, and team composition.

Table of Contents

Demo

User Stories

Implement

Based on the request of our client, we defined the following user stories:

  • As a user, I want to be able to create an account
  • As a user, I want to see other user profiles who speak the language I want to learn
  • As a user, I want to chat with other users in real time
  • As a user, I want to want to be able to log out
  • As a user, I want to be able to use a calendar to log meetup times
  • As a user, I want to edit the language I’m interested in
  • As a user, I want to set my fluent languages
  • As a user, I want to be notified when my username and password are incorrect

Coming Soon

  • As a user, I want to be able to delete and update an event I posted
  • As a user, I want to be able to add an image for my profile picture
  • As a user, I want to use this as a mobile app
  • As a user, I want to add more content to my profile
  • As a user, I want to have calendar notifications
  • As a user, I want to use this as a mobile app
  • As a user, I want to avoid logging into the website each time I visit
  • As a user, I want to get an overview of Pangaea’s website when I visit the site
  • As a user, I want to translate incoming messages
  • As a user, I want to see a user is online
  • As a user, I want to video chat

Stack

Front-end Back-end Deployment & Testing APIs
React Node.js AWS Axios
React Router Express Jest
Bootstrap MongoDB

Work Flow and Ticketing

Work Flow

We followed a Git workflow to ensure work is accomplished in a consistent and productive manner.

Ticketing

For ticketing and allocation of work, we followed an agile methodology. We created tickets in Trello with six basic states:

  • Important Reference Info - Planning and universal information that is commonly referenced
  • Back Burner - work that will be tackled in future sprints
  • Sprint Plan - work that will be finished in current sprint
  • In Progress NOW - what is currently being worked on by each member of the team this sprint
  • Staged for merge - complete, but work waiting to be reviewed and merged
  • Deployed to production - work has been added to current deployment

Getting Started

Take the following steps to run the app in your localhost, you will need to have the following:

  • Node and Node Package Manager should be installed on your machine
  • MongoDB should be running on your machine
  • Configure mongoose connection config inside of the database directory

Note: Rename .copy.env to .env and adjust the contents

From terminal in the repository:

npm run setup
npm run start:dev

Wire Frames

The following are wire frames for the landing page, sign up modal, and client dashboard:

Contributors

Cory Harris, Rex Loyer, Brian McHugh, Timothy Black, Kody Maus, Wilson Tao, Blake Guidry, George Pazdral

About


Languages

Language:JavaScript 82.5%Language:CSS 13.8%Language:HTML 2.3%Language:Dockerfile 1.4%