Skip to content

ziad-saab/decodemtl-wp-frontend

Repository files navigation

DecodeMTL WordPress Frontend

This project is the front-end portion of DecodeMTL's site. It talks to a WordPress API and generates pages using a React-based stack.

Overview of technologies

In no particular order, the front-end makes use of the following technologies. They have not only been chosen for their universality -- they do have to run on the browser and in Node -- but also for their excellence at doing what they do:

TODO

  • Add webpack isomorphic tools or similar, to make reloading of components possible on the server.
  • Figure out how to write the styles. I'm used to the idea of a separate SASS directory, but having the styles alongside the components makes sense.
  • Implement the blog, courses and pages components with their reducers and API calls.
  • Implement the course application form with redux-form.
  • Figure out the best place to hook to for URL changes, and send them to analytics.

Files

Instead of writing everything in the README, each module has comments to describe what it does and how it interacts with the application. Here are the main files of the application:

  • /server.babel.js: bootstraps the Express server.
  • /server.js: Express server does route matching and server-side rendering.
  • /webpack.dev.config.js: Webpack development configuration. A prod version will have to be created.
  • /src/js/api-client.js: Uses fetch to make API calls to our WordPress instance.
  • /src/js/app.js: bootstraps the client application.
  • /src/js/config.js: shared client and server configuration variables.
  • /src/js/fr.js: french translations.
  • /src/js/routes.js: routes definition for client and server.
  • /src/js/redux/store.js: Redux store generator.
  • /src/js/redux/modules/reducer.js: composes all the app's reducers in a keyed reducer.

About

DecodeMTL site

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published