Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aswitalski/angular-java8-test
A solution to "sky-guide/angular-node-test" with slightly different stack...
https://github.com/aswitalski/angular-java8-test
Last synced: about 1 month ago
JSON representation
A solution to "sky-guide/angular-node-test" with slightly different stack...
- Host: GitHub
- URL: https://github.com/aswitalski/angular-java8-test
- Owner: aswitalski
- Created: 2015-02-23T07:22:42.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-02-23T14:05:14.000Z (almost 10 years ago)
- Last Synced: 2024-04-14T06:01:52.751Z (10 months ago)
- Language: Java
- Size: 535 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sky test
### First important thing is a remark that I did read the instruction with understanding :)
During the initial conversation with Joffrey I clearly stated that I do not have huge experience with node.js. We agreed that I will implement the solution with a different backend stack - Java based.
I went for Java 8 + Spring MVC running on Jetty 9. Because of such stack the build tool is Maven.I focused on providing clear and fully unit-tested solution on both frontend and backend sides.
(Because of lack of time and the agreed delivery date the end-to-end testing is not yet there, but all other work that was done hopefully is enough to grade the skills and the approach).### To build the project
$mvn clean install### To run the server:
$mvn jetty:run### Then the application will be available at:
http://localhost:8080/index.htmlBecause of the Java backend, the sign-in is based on sessions (with jsessionid being passed over), an alternative could be based on auth tokens.
### With this solution I tried to demonstrate how to:
* structure the applications correctly
* define components with single responsibility
* integrate the components with one another
* fully unit test all the components
* provide integration tests for controllers
* create self-explaining and easy-readable code
* combine imperative and functional programming (lambdas used)
* construct the build process manually with full understanding of phases
* provide good user experience### If the application was developed further the next steps would be:
* provide end-to-end testing
* use directives and templates in the frontend
* use Spring Security for a security aspect
* move authentication attempts data gathering to an interceptor
* use the database instead of in-memory mock
* (optional) change authentication and authorisation mechanisms to a token-based solution
* not to require the "index.html" in the URL :)