This repository is the frontend for my final project for NU CS 4550 Web Development. It is a single page application built primarily using React, Bower, Gulp, and Aviator. The styling is done using Bootstrap and Flat UI.
The backend for this project is also hosted on GitHub.
To develop for this application, one needs to have git and Node JS installed on their system first. With these tools installed, run:
$ npm install -g gulp bower
$ git clone https://github.com/nahiluhmot/tabular-frontend.git ~/tabular-frontend/
$ cd ~/tabular-frontend/
$ npm install
$ bower install
$ gulp serveThen, open http://localhost:3000/ in your browser, and you should see the home page.
This repository is equipped to build docker image using its Dockerfile.
On a machine where docker is installed, you can build the image using the following command:
$ cd ~/tabular-frontend/
$ docker build -t tabular-frontend:latest .`This will produce an image whose default command is to run nginx with the application code.
The image expects http://tabular-backend:4567/ to be accessible, which is easy using docker container linking.
To run the production server, you can run:
# Assuming there is already a container serving the backend on port 4567.
$ docker run \
--name tabular-frontend \
--link tabular-backend:tabular-backend \
--port 1337:1337 \
--detach \
tabular-frontend:latestOpening port http://localhost:1337/ in your browser should display the home page.
| Directory | Checked In? | Description |
|---|---|---|
bower_components/ |
No | Frontend dependencies installed by bower |
build/ |
No | Directory where built assets live |
gulp/ |
Yes | Holds the gulp tasks and configuration, which are essentially asynchronous build scripts |
html/ |
Yes | HTML source code for the web page |
js/ |
Yes | The main web application code |
less/ |
Yes | Styling for the site |
node_modules/ |
No | Build dependencies |
bower.json |
Yes | Configuration for frontend dependencies |
Dockerfile |
Yes | docker configuration |
gulpfile.js |
Yes | Bootstraps the gulp tasks |
nginx.conf |
Yes | nginx configuration |
package.json |
Yes | Build dependency configuration |
README.md |
Yes | Documentation |