bram-atmire / angular2-ui-prototype

An Angular2 (https://angular.io/) extended prototype UI for DSpace

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Angular 2 UI Prototype

This project represents the "extended prototype" featuring Angular 2 from the DSpace UI Prototype Challenge. This prototype is a collaboration by @mire, CINECA, DuraSpace and Texas A&M.

The goal of this extended prototype is to evaluate the Angular 2 framework as a plausible DSpace UI platform. This includes evaluating whether it meets the SEO needs of Google Scholar.

Project Board (waffle.io)

Implementation Details

Initial implementation / project structure is based on wwelling's proof-of-concept at: https://github.com/wellingWilliam/AngularUniversalDSpaceUIPrototype

This is a prototype of Angular 2 + Angular Universal (isomorphic javascript for Angular 2). Angular Universal performs the server side rendering, which we hope will accommodate SEO requirments of Google Scholar.

Webpack is used to transpile Angular 2 Typescript into es5, package bundles, run node server, and provide 'watch' development.

The packaging consists of app, styles, and bootstrap.

  • src/app/ is the typescript that drives application
  • resources/styles/ is css you write.
  • Also uses bootstrap with jQuery plugin

Requirements

Getting Started

npm install

  • npm run dep Installs global dependencies.
  • npm run build Builds the project. Required when typescript is changed.
  • npm run test Runs node server and starts chrome in app mode with web security disabled.
  • npm run watch Builds, runs, and watches for changes to build again.

Collaboration

Project Board (waffle.io)

Other "best practices" to note:

  • All code changes via PRs please (anyone can submit them)
  • Have someone else approve/accept your PR (no self-approval unless it's a completely obvious bug fix)
  • If you have a question or topic of discussion, consider adding it as a GitHub issue. That way we can track the final answer / decision (which will make it easier to document later on)

Known Issues

  • Not currently a full implementation of DSpace. Currently this project is simply an Angular 2 UI against an existing DSpace REST API.
    • Currently expects DSpace 5.x REST API (not updated for 6.x)
    • Eventually needs to be packaged via Spring Boot alongside REST API and other server-side interfaces (OAI, SWORD, ect)
  • CORS are not being provided from the DSpace REST API in the response.
  • Angular2, Angular Universal, and rxjs are in Beta.

About

An Angular2 (https://angular.io/) extended prototype UI for DSpace

License:Other


Languages

Language:TypeScript 85.2%Language:JavaScript 11.5%Language:CSS 1.9%Language:HTML 1.2%Language:Shell 0.3%