Giter Club home page Giter Club logo

mololithic_mailmaker's Introduction

MAILMAKER - Express/MongoDB/React/Redux

Table of Contents

Create your keys.js

  • clone the repository
  • you first need to create a file keys_dev.js that you will put in the config folder
  • cd config
  • touch keys.js
  • then add the folowing content

const keys = {
  mongo: {
    user: '<user>',
    password: '<password>',
    url: function() {
      return `mongodb://${this.user}:${this.password}@ds237192.mlab.com:37192/mailmaker`
    },
    options: {
      useNewUrlParser: true,
    },
  },
  cookie: {
    secret: '<secret>',
  },
  google: {
    clientID: '<id>',
    clientSecret: '<secret>',
    callbackURL: '/auth/google/callback',
  },
  facebook: {
    clientID: '<id>',
    clientSecret: '<secret>',
    callbackURL: '/auth/facebook/callback',
  },
  stripe: {
    clientID: '<id>',
    clientSecret: '<secret>',
  },
  sendgrid: {
    apiKey: '<secret>',
  },
  domain: {
    url: 'http://localhost:3000'
  }
}

exports.keys = keys

Create Accounts

  • You will have to ensure that you have a mongoDB mlab account.

  • You will have to ensure that you have a google API console account.

  • You will have to ensure that you have a facebook developer account.

  • You will have to ensure that you have a stripe account.

  • You will have to ensure that you have a sendgrid account.

  • On all these specific account you will have to ensure to create the keys, secret, user, id needed all along.

Initiate the project

  • npm install
  • npm i --save concurrently
  • cd client
  • npm install
  • Launch both servers with 'npm run dev' on repository root
  • You are now running the application

How it Work

  • This project have been realized for learning purpose. Its a marketing email survey creator
  • Register your profile and start create survey. But before it you will have to had credit to your account
  • Fortunatly the stripe payment system is still on test mode on my master version if you want to try it.
  • Use the card 4242 4242 4242 4242 to be able to pay via stripe

Back End

  • The backend of this project have been realized with express and mongoDB. Mongo is a no-sql technologie that is extremly versatile.
  • We create this API in order to connect with our react front-end application. Each route have a validator that check if the content is correct before sending it to the database.
  • we use several middleware as bodyParser and passport to create private route and manage auth.

Middleware

  • Middleware is managed by Redux. it is taking care of the main property as users, profiles and post. Its ensure each actions made that impact these property are dispatched and updating the cycle. Fetching each element properly from the backend.

Front End

  • The frontend is made with React and component organization. We devide theses component in various categories
  • layout component are the ones displayed on start. On most, you can considere them as statical component and they are public
  • common component aren't displaying any UI but are helping other component to generate other UI component easelsy.
  • Auth component regroup all component that are needed about authentification
  • Dashboard component regroup all component about the dashboard profile of each users

mololithic_mailmaker's People

Contributors

erwanriou 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.