/EPICMail

EPICMail is a web app that allows exchange of information/messages over the internet

Primary LanguageJavaScript

EPICMail Build Status Maintainability Test Coverage

EPICMail is a web app that allows people exchange messages/information over the internet.

Project Breakdown

The internet is increasingly becoming an integral part of lives. Ever since the invention of electronic mail by Ray Tomlinson, emails have grown to become the primary medium of exchanging information over the internet between two or more people, until the advent of Instant Messaging (IM) Apps.

As EPIC Andelans who work towards advancing human potential and giving back to the society, we wish to empower others by building a web app that helps people exchange messages/information over the internet.

Project Timelines and Milestones

This project is broken down into four phases which should run for 4 weeks. The phases are -The front-end development stage -Creation of API endpoints using data structures -Creation of more API endpoints and integrating a Database -Implementation of front-end app and addition of more API endpoints The project duration is for four weeks

Features

-User should be able to sign up -User should be able to sign in -User should be able to reset password -An admin should be able to create a group and add different users to the group -User should be able to do the following -Send email to individuals or groups -View inbox -Read an email or any resulting thread -View sent messages and retract a sent message -Save a message as draft and either send it later or delete

Optional Features

-User should be able to upload a profile photo -Integrate Twilio and deliver messages via sms

Prerequisites

-VS Code -Git Bash Node.js -Express Framework

Dependencies

-Babel and its versions (To transpile from ES6 to ES5) -Body Parser -JSONWebToken(JWT)

Devdependencies

-ESlint and its versions -Nodemon -Prettier

Run the following commands in the CLI to have the above dependencies and devdependencies

-Run npm init to generate a package.json file -npm i @babel/core @babel/cli @babel/register @babel/node @babel/preset-env --save-dev -npm i eslint-config-airbnb

Deployment environment

-gh-pages: https://hadeoh.github.io/EPICMail/UI -heroku: https://epicmail1960.herokuapp.com/

Built with

-HTML -CSS -Javascript Node.js (express framework)

Versioning

Made use of the URL versioning starting with "v"

Author

Usman Olawale Adio

Acknowledgements

-Hat tip to everyone who was collaborated with for the completion of this project -Great people of Andela