The GeekU project is a sandbox University Transcript Application, with enough real-world requirements to make it interesting.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
public
src
tooling/docs
.babelrc
.eslintrc
.gitignore
LICENSE
README.md
book.json
karma.conf.js
package.json
webpack.config.js

README.md

GeekU

Table of Contents

Overview

The GeekU project is a sandbox University Transcript Application, with enough real-world requirements to make it interesting.

  • model M:M relationships of course/student using MongoDB
  • development of both client and server logic managed through an npm build process
  • single page app (using React.js)
    • employing routes
    • employing redux (Flex architecture)
    • modern GUI
  • server-side rest implementation (using express.js)
  • ES6 JavaScript usage (both client and server)
  • ?? more

Run the Project

If you want to run this project on your local machine, simply clone the git repo (or zip it up), and follow these instructions.

Prerequisite

Setup

$ cd {project-root}

$ npm install    # install project dependencies
$ npm run build  # initial build of system

$ mongod         # launch MongoDB server
$ TODO           # load sample mongo data

For Production

For production, simply run the rest server.

$ cd {project-root}
$ npm run server-run
> browse localhost:8080

For Development

For development, build (and re-build on change) the client/server bundles -AND- launch the rest server (which restarts on change) -AND- run unit tests (triggered by changes).

$ cd {project-root}
$ npm run dev
> browse localhost:8080

NODE_ENV envirnment variable

The The NODE_ENV envirnment variable is used as follows:

  • NODE_ENV=production
    • clientBundle is minified (currently in clientBundle.js TODO: clientBundle.min.js)
  • NODE_ENV=development [the default]
    • source maps are generated

Example:

$ cd {project-root}
$ NODE_ENV=production npm run build   # build a production distribution