/aliemcards

ALiEM Cards - markdown and website

Primary LanguageTypeScriptMIT LicenseMIT

Build Status codecov Greenkeeper badge

ALIEM Cards

This repository contains the original markdown source for all the ALIEM Cards as well as the simple API providing the cards to a ReactJS frontend website.

Contents

  1. Card Format
  2. Website Build Details

Building the Site and Data Store

The cards are processed using Gulp. There is a gulpfile.js in the main directory contains the code to run this task. The package.json includes scripts to run the various development and production builds, as per usual.

The gulp task runs through each markdown file, processes the frontmatter and creates a master data.json file. That data forms the basis for the GraphQL API.

The build process also uploads images to the Amazon Web Service CDN Cloudfront. This build step requires the AWS CLI and is run via a bash script awsbuild.sh.

ALiEM Cards Website

Frontend

The app folder contains the necessary pieces for a ReactJS-based frontend. This is a simple ReactJS website that makes ajax calls to the GraphQL API.

The assets folder contains static assets, e.g. images, css files, etc. Various style components have been broken out, and Stylus is used as a CSS pre-processor.

Backend

The index.ts file in the root folder contains the ExpressJS server that powers the site.

The server folder contains the primary backend resources for the website, primarily schema files for GraphQL and the Normalizr helper library.