Skip to content

yahehe/Hajim-plan

Repository files navigation

Hajim School 4 Year Schedule Application

Overview

Based on the Angular JS tutorial. An app for incoming freshman to use when trying to plan out long term schedules, while staying in line with the strict Hajim school degree requirements, and stayin on track to graduate.

Prerequisites

Git

  • A good place to learn about setting up git is here
  • Git home (download, documentation)

Node.js

Workings of the application

  • The application filesystem layout structure is based on the angular-seed project.
  • There is no dynamic backend (no application server) for this application. Instead we fake the an application server by fetching static json files.
  • Read the Development section at the end to familiarize yourself with running and developing an angular application.

Development with angular-seed

The following docs describe how you can test and develop further this application.

Running the app during development

  1. Run npm start
  2. navigate your browser to http://localhost:8000/app/index.html to see the app running in your browser.

Running unit tests

We recommend using Jasmine and Karma for your unit tests/specs, but you are free to use whatever works for you.

  • Ensure the tools are installed: run npm install.
  • Start Karma with npm test
    • A browser will start and connect to the Karma server. Chrome is the default browser, others can be captured by loading the same url as the one in Chrome or by changing the test/karma.conf.js file.
  • Karma will sit and watch your application and test JavaScript files. To run or re-run tests just change any of your these files.

End to end testing

We recommend using Jasmine and Protractor for end-to-end testing.

Requires a webserver that serves the application. See Running the app during development, above.

  • Ensure that the tools are installed: run npm install.
  • Serve the application: run npm start.
  • In a separate console run the end2end tests: npm run protractor. Protractor will execute the end2end test scripts against the web application itself.
    • The configuration is set up to run the tests on Chrome directly. If you want to run against other browsers then you must install the webDriver, npm run update-webdriver, and modify the configuration at test/protractor-conf.js.

Application Directory Layout

app/                --> all of the files to be used in production
  css/              --> css files
    app.css         --> default stylesheet
  img/              --> image files
  index.html        --> app layout file (the main html template file of the app)
  js/               --> javascript files
    app.js          --> the main application module
    controllers.js  --> application controllers
    directives.js   --> application directives
    filters.js      --> custom angular filters
    services.js     --> custom angular services
    animations.js   --> hooks for running JQuery animations with ngAnimate
  partials/         --> angular view partials (partial html templates) used by ngRoute
    partial1.html
    partial2.html

scripts/            --> handy scripts
  update-repo.sh       --> pull down the latest version of this repos
                           (BE CAREFUL THIS DELETES ALL CHANGES YOU HAVE MADE)
  private/             --> private scripts used by the Angular Team to maintain this repo
test/               --> test source files and libraries
  karma.conf.js        --> config file for running unit tests with Karma
  protractor-conf.js   --> config file for running e2e tests with Karma
  e2e/
    scenarios.js       --> end-to-end specs
  unit/             --> unit level specs/tests
    controllersSpec.js --> specs for controllers
    directivesSpec.js  --> specs for directives
    filtersSpec.js     --> specs for filters
    servicesSpec.js    --> specs for services

Contact

For more information on AngularJS please check out http://angularjs.org/

About

final project for csc 210

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published