Skip to content

The web application is a messenger with built-in translation. It is designed for communication between people who speak different languages.

Notifications You must be signed in to change notification settings

hatchways/team-peppermint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peppermint chat app

The app designed to exchange messages between two people who speak completely different languages. Think: FB Messenger with a built-in automatic translator. If we could more easily speak to others from around the world, we would be a more inclusive and connected world!

To see the app please click 👉 Peppermint chat (Under development)

You can use the following user credentials(or create new user accounts):

email: [email protected]
password: qwerty

email: [email protected]
password: qwerty

Synopsis

There are two main users:

  1. The sender: a. The sender sends messages in his/her chosen language
  2. The receiver a. The receiver receives messages in his/her chosen language For example: Sender speaks English and Receiver speaks Chinese. The Sender sends “what is your schedule for today?: and the receiver receives that message in Chinese. The receiver can then send Chinese back “I have 3 meetings and a dinner”, and the sender will receive this message back in English.

User can login/signup with email address. User can email invitation or referral link to sign up. When signing up the user can select primary language. User can accept friend request, search contacts by email or name. User can also join group chat.

Downloading the project

Fork and clone this repo.

Running the project locally

The back-end server

cd server
npm install
npm run start

The front-end server

cd client
npm install
npm run start

Screenshots of a Peppermint chat app in action

Login/Signup Page

"Login/Signup Page"

Chats list

"Chats list"

Contacts list

"Contacts list"

Invitation window

"Invitation window"

User avatar replacing

"User avatar replacing"

Image upload window to send to another user

"Image upload window to send to another user"

Mobile friendly design

"Mobile friendly design"

Peppermint Development Pipeline

The project uses continuous integration through Github, Circle Ci, and Netlify.

When any updates are pushed to dev branch, Circle Ci runs the app's Cypress and unit tests, if they pass, Circle Ci then updates the production branch in Github. Listening for updates to the production branch, Netlify will update when Circle Ci completes the tests, giving the app continous tested integration.

"CircleCI schema"

"CircleCI test results"

Dependencies

  • react 16.13.1,
  • material-ui,
  • firebase,
  • socket.io,
  • material-ui-gropzone,
  • emoji-mart,
  • jwt-decode,
  • validator,
  • parse-url,
  • core-js,
  • bcrypt,
  • sendgrid/email,
  • mongodb,
  • mongoose,
  • jsonwebtoken,
  • mailgen

About

The web application is a messenger with built-in translation. It is designed for communication between people who speak different languages.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •