Write a simple e-mail forward service using OAuth and MailGun API

This simple project consists of developing an ExpressJS app to enable the creation of a shared e-mail address between a developer and a client. The developer creates an account using OAuth (use [url removed, login to view]), creates a name for the shared mailbox, and adds the client's email on the web interface. A rule is then created using the MailGun API so that all e-mail sent to that mailbox is forwarded to both users sharing the mailbox. An e-mail is sent to the client to notify that he has been added to the shared mailbox.

This is for a minimum "proof-of-concept" app. No styling or client-side JS work is required. Jade must be used for templating. There are 2 HTML views and 3 routes to create. Information is stored in SQLite in 3 small tables (Developers, Mailboxes, Clients).

GET /developer_auth

This page consists of a "login or signup" button for developers that triggers OAuth (Google and GitHub providers) using [url removed, login to view]

GET /developer_auth_endpoint

This route is triggered by OAuth upon successful developer authentication. It determines whether a developer is registered in the Developers table using the e-mail address in the OAuth info. If not registered, the developer is created in the Developers table and the OAuth token is stored there. In both cases, the developer ID is stored in the session, and the user is redirected to the /mailboxes endpoint.

GET /mailboxes

This route lists a set of mailboxes for the developer who is currently logged in. It redirects to /developer_auth if no user is logged in. Next to each mailbox, a delete button is provided that links to the DELETE /mailboxes route. The route also contains a form to create a new mailbox with 1) name text field and 2) client e-mail text field; this links to the POST /mailboxes route.

POST /mailboxes

This route creates a new mailbox. First, it checks if a client with the specified client e-mail (from the form data) exists in the Clients table, and creates the client if it does not. Then, the route creates a mailbox in the Mailboxes table with the developer unique ID, client unique ID, mailbox name (from posted form), and mailbox address. The mailbox address is set to be {developer_name}_{client_name} [at] [url removed, login to view]

Once this is done, the route calls the MailGun API in order to create a rule for all e-mail received at this address to be forwarded both to the developer e-mail and the client e-mail. Finally, it uses the MailGun API to send an e-mail to the client e-mail from sender accounts [at] [url removed, login to view] with the body: "You have been invited."

DELETE /mailboxes

This route deletes the mailbox in the Mailboxes table, and clears the rule associated to that mailbox from the MailGun API.

Evner: E-mailhåndtering, Javascript, node.js

Se mere: yahoo e mail sign in, cheap and best outsource e mail marketing in uae, using oauth javascript call rest api, use yahoo api using oauth, using oauth yahoo api requests, google data extraction using api service, software write mq4, software write chip epson, useful software write book, software write web specs, free software write user guide, software write edid, free software write company profile, software write websites idea, software write book images, software write books, software write protection, free software write book, oscommerce username paypal api service, software write book, google weather api service provider, weather api service, using ebay listing api personally, send sms using aspnet sms web service pakistan, google map api service

Om arbejdsgiveren:
( 16 bedømmelser ) New York, Canada

Projekt ID: #12538666

3 freelancere byder i gennemsnit $155 på dette job


Dear Sir, Able to start right now and complete as soon as possible. I have more than 2+ years experience in jquery,ajax,html,css,php, paypal integration and web based cms and frameworks like joomla,codegintter e Flere

$155 USD in 3 dage
(19 bedømmelser)

Dear client, Thanks for your attention. I am android and iOS app, web server developer. I will like to work on your project and deliver the project. I have developed many applications involving various functionalit Flere

$155 USD in 3 dage
(0 bedømmelser)
$155 USD in 10 dage
(0 bedømmelser)