/EPIC-MAIL

Andela Challenge: Build a mailing system

Primary LanguageJavaScript

Build Status Coverage Status

EPIC MAIL

Epic Mail is a mailing web app that enables user to exchange information over the internet.

Getting Started

Prerequisite

  1. Internet connection
  2. Internet browser
  3. Git
  4. Nodejs
  5. Postgres

Template URL

API URL

User Access

How to get a local copy

Clone repository

  • Copy repository link
  • Create a folder location in your computer eg my/myfolder
  • cd my/myfolder/
  • git clone repositorylink.git
  • cd EPIC-MAIL
  • run npm install
  • run npm run start
  • open index.html file
  • Sign up and Log in

Routes

#####Host: https://epic-mail-api.herokuapp.com/api/v1

VERB ENDPOINTS DESCRIPTION
POST /auth/signup Create new user
POST /auth/login Log in a user
POST ​/auth​/reset Request password reset
PUT ​/auth​/reset Password request confirmation
POST /messages Send message
POST /messages/draft Save message as draft
GET /messages/draft Get user's draft messages
PUT /messages Send a draft message
DELETE /messages/draft/:id Delete draft message with specified id
GET /messages Get user's inbox
GET /messages/read Get user's read inbox
GET /messages/unread Get user's unread inbox
GET /messages/sent Get user's sent messages
GET /messages/sent/:id Get user's sent message with the specified id
DELETE /messages/sent/:id Delete user's sent message with the specified id
DELETE /messages/sent/:id/retract Retract user's sent message with the specified id
GET /messages/:id Get user's inbox message with the specified id
DELETE /messages/:id Delete inbox message with specified id
POST /groups Create new group
POST /groups​/:id/users Add a user to a group
POST /groups​/:id/messages Send mail to a group
PUT ​/groups​/:id​/messages Send draft mail to a group
GET /groups​ Get user's groups
GET /groups​/:id Get members of a specified group
PATCH /groups/:id/name​ Update a group name
DELETE /groups/:id Delete the group with the specified id
DELETE /groups/:groupId/users/:userId Delete a member from a group

Branches

  • The branches are structured according to git work flow.
  • Naming convention is according to andela branch naming convention. The develop branch is positioned currently as the default branch due to the on-going nature of this project. It is expected that as the project nears completion some branches will be merged and completely deleted

Testing

Test locally by running index.html on web browser Unt Test locally by runnung npm run test

Built with

  1. Html
  2. Css
  3. JavaScript
  4. nodejs
  5. postgres

Deployed on

  1. github page
  2. heroku

Code Contributors

  • Ilori Ezekiel (Eazybee)

Credits

Author

  • Ilori Ezekiel (Eazybee)