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.
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
- 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
Front-end | Back-end | Deployment & Testing | APIs |
![]() |
|||
We followed a Git workflow to ensure work is accomplished in a consistent and productive manner.
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
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
The following are wire frames for the landing page, sign up modal, and client dashboard:
Cory Harris, Rex Loyer, Brian McHugh, Timothy Black, Kody Maus, Wilson Tao, Blake Guidry, George Pazdral