8000 GitHub - WeiFoo/CSC510_miniProject1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

WeiFoo/CSC510_miniProject1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini Project 1

Write a "single-page app" and develop its configuration management.

Goal: Gain experience with the following technologies:

Bootstrap 3, knockoutjs, less, javascript, grunt, bower, node.js, d3, npm

Learning outcome: Realize that most software engineering projects will require learning many technologies together. Gain experience in using some technologies, such as grunt and bower, to help bridge the multiple technologies in a single process.

Getting Started with your Template

Get the project template using git:

  1. git clone https://github.ncsu.edu/CSC510-Fall2014/MiniProject1-Template.git

  2. Run npm install to get project dependencies installed (grunt, bower). Npm is installed when you install node.js.

  3. Run bower install to get web dependencies installed (bootstrap,jquery). A local copy of Bower will be installed in node_modules/bower/bin/bower. However, you may want to have a global version installed using npm install -g bower.

  4. Test out grunt by running grunt less to run the less task that will compile the bootstrap less file into a css file usable by your site. Open www\index.html in your browser. A local copy of grunt will be installed in node_modules/grunt-cli/bin/grunt. However, you may want to have a global version installed using npm install -g grunt and npm install -g grunt-cli.

Use bower to manage components.

Use bower to install additionally install:

  • knockoutjs
  • d3

Dependencies should be saved in bower.json using the -S option.

App content and javascript

  • Use bootstrap 3 to create responsive layout (resilient to mobile screen sizes).
  • Use knockoutjs to process user input and any dynamic content.
  • Use d3 add a visualization component to the site. See http://bl.ocks.org/mbostock for inspiration (you can directly use any example as well).

Use grunt to manage build tasks.

Create a grunt task to:

  • Extend current less task to compile an additional local.less file, containing your custom presentation elements into a css file.
  • Create a new grunt task, called package to concat all javascript libraries into a single "www\js\libs.js" file. Additionally, minify the content using uglify or an equivalent minifying tool.
  • Create a new grunt task, called validate that runs jshint on all javascript files in app.
  • Create a build_all task that runs all the steps needed to build the web app.

Grading

You will be graded on the configuration management of your app as well as your use of technology in building the app.

  • 10% bower setup
  • 40% grunt tasks
  • 20% app layout and content
  • 15% incorporate user input/dynamic content with knockoutjs
  • 15% incorporate visualization with d3

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0