rednavis / vaadin-showcase Goto Github PK
View Code? Open in Web Editor NEWShowcase application of Vaadin and Java EE backend
License: GNU General Public License v3.0
Showcase application of Vaadin and Java EE backend
License: GNU General Public License v3.0
We need to add authentication feature to our application. Implementation should be based on Java EE 7 features (no Spring, Play or other frameworks).
From UI perspective, responsive Login UI form is needed:
From backend perspective we would need JWT token and OAuth 2 support.
PostgreSQL should be used for storing users, system or roles and permissions should be developed as well.
Let's provide some basic app layout and content assuming that authentication and other production-like features would be developed under separate tasks.
Prerequisites:
Requirements:
Gradle should be configured for local deployment and testing application in Vaadin production mode.
Demo content should be pretty simple like single page without any routing with Grid that consumes some paginated data from server, like list of employees or application users.
Revise and - if necessary - remove all current testing approaches from the project.
Add JUnit 5 testing platform and functional tests example using mockito or any other popular alternative.
Provide example of functional testing for client and server side code.
Add support localization
https://vaadin.com/docs/v14/flow/advanced/tutorial-i18n-localization.html
Currently Heroku is configured for application cloud deployments using Travis CI:
.travis.yml
deploy:
provider: heroku
api_key:
secure: {VALUE}
app: vaadin-showcase
on:
repo: rednavis/vaadin-showcase
The issue is that it's based on java-webapp-runner which provides Tomcat instance to run.
Our application uses rich Java EE features like CDI so trivial Tomcat is not enough, TomEE is needed at least (which is configured in pom.xml
for local launches).
Please consider the following alternatives to enable proper cloud deployments for our application:
Any solution that would provide automatic free cloud deployment on Heroku would be accepted.
Follow JMS Tutorial on Java EE 7 track and provide a comprehensive example of message producer and message consumer, triggered by some action on UI side.
Sophisticated example could transform parallel thread of multiple file uploading into the sequence of events on server side.
Provide example of using advanced JMS features, like message acknowledgement, options for sending messages, specifying message persistence, expiration etc.
We need to have responsible design for Login form that would have beautiful look on different devices including desktop and mobile phones, ie. would be responsible.
Use RWA
feature of Vaadin 14 and Polymer 3 to make that happen.
Pick up one of the appropriate templates from the web and provide non-escapable dialog box that would appear each time user need to log in.
From functional requirements perspective we should have the following:
Sign up should redirect on separate RegistrationView
form.
Consider the following as a very good example:
General UI/UX requirements:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.