Giter Club home page Giter Club logo

single_page_app's Introduction

Single page Web App Challenge

This service is a webform that allows a user to send an email.

Laravel Backend

The backend it built using Laravel. It accepts a restful call and from there it will attempt to send an email based on the details passed in through the form. It is built with fallover so that if the email fails to send using SendGrid it then attempt to send the email using MailGun. The Laravel code for the backend is located in app/Http/Controllers/EmailController.php for the controller and in app/Email.php for the send email model.

React Frontend

The frontend is set up as a single page app build using ReactJS. The form accepts the following fields:

  • To (Required)
  • CC
  • BCC
  • Subject (Required)
  • Message (Required)

And based on the data given will send an email. The React code for the frontend are located in resources/assets/js/ and uses Gulp to compile it into bundle.js

Installation

Please note: This does assume you have php and composer installed on your machine. You may also need to enable extra php extensions in order for the composer install command to work.

  • git clone [email protected]:joseph-t-martin/single_page_app.git
  • cd single_page_app/
  • composer install
  • cp .env.example .env
  • Edit the .env file and set the SendGrid and MailGun api keys
  • php artisan key:generate
  • php artisan serve

Additional Work

  • Log message to the database so that we have a copy of all emails being send.
  • Logging so that if either of the message clients valid to send to can investigate as to why.
  • Change Javascipt responses to be pretty messages rather than just alerts.

single_page_app's People

Contributors

joseph-t-martin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.