Professional Documents
Culture Documents
The basic idea of the project is to implement something similar to jsfiddle. But with user
management possibility. Need to allow possibility to build/show/host ui projects online.
Basic features
Sign In, Sign Up (without photo).
● Forget Password page, Reset Password page
● User Management page (it will contain table with users, form for
creating/editing/removing users). User will have next fields: first name*, last name*,
email*, password*, picture
● Project managements. Project will consist of the name, type, css, html, js code, access
level (private or public).
Type = “Pure Javascript”, “JQuery”, “Vue.js”
● Need add possibility to share public projects (Compiled version). There should be a
page, where you pass project id. Angular Component should retrieve html, css, js code
from backend and draw results.
● Profile page (reset password, update avatar, update ui theme, change name).
● Page where you can setup dummy/mock endpoint which will respond with some static
response. You can specify headers, status code and response body(if allowed by
request method) to simulate backend. Then in js samples user can make requests to this
endpoint to test his http exchange code.
Other requirements:
1. All forms should have validation (both ui and backend).
2. Need to handle failed response from server as well. Need to show notification
messages.
3. All tasks should be committed to feature branch. After that need to create pull request.
No direct commits to master.
4. Need to use next ui template: https://bootstrapious.com/p/admin-template . Link to
download: https://bootstrapious.com/download/default/128?
hash=543d3d718cc3f846d4a0d408d15dcfd7
5. We will use cross review for pull requests. Every one reviews every one.
6. Java test coverage should be 70%
Additional task
1. Login via google
2. Add possibility to change Theme (dark, white, red, blue, green).
Technologies
Java (latest version)
Spring Boot
Hibernate
Spring Data
Spring Security (JWT based security, with refresh token that is available for 4 hours). For more
details read Authentication section.
In memory database
Angular (latest version)
Authentication
Communication between UI and Backend will be processed using JWT tokens. If user will
provide valid username/password to login endpoint, backend will return jwt token in response.
Jwt token will consists of actual token and refresh token that will be used in case of token
expiration.
That token should be stored in local storage and used for every request to backend. Need put
token under Authorization header, otherwise you will get 401 response.
Git Repository
https://github.com/inventorsoft-academy/scripty