Git Product home page Git Product logo

registration_test_task's Introduction

Registration Test Task

How to run without docker:

  1. git clone https://github.com/deadlight1/registration_test_task.git
  2. maven: clean, install

How to run with heroku (For manual testing):

Follow this link: https://registration-test-task.herokuapp.com

Task

The purpose of this assignment is to put your Java capabilities to a test with respect to writing web based applications, write high quality code and produce intuitive user interfaces. Your skills in Spring and Hibernate are also considered. We want to protect our business critical “Hello World!” web page from non-registered users. Only registered users are granted access to the page.

Functional requirements:

• Anonymous users may register by creating a user account from the login page  
• A user account consists of a login name and a password  
• The password of an account is required to be strong  
• Users that login with a valid login name and password are authenticated  
• Only authenticated users may view the “Hello World!” dummy page  

Technical requirements:

• Use Spring Framework as a container
• Use Spring Security to handle authentication  
• Store the account settings in a SQL database using Hibernate (you can use any DB either in memory - H2, HSQL or MySql)
• Store passwords securely  	
• Multiple browser support 	
• Use valid XHTML and CSS  	
• Must provide unit tests using JUnit 	
• Use the principles of test driven development 	
• Provide the solution as a Maven project 
• Intuitive user interface 
• Provide a readme file  
• Provide a description of the project structure and the decisions made 

Project structure and the decisions made

1.I wrote unit test only for service layer, for controller and repository layers I did not.

2.I understand that it is bad practice to contain js and html in one file, but I am sure that this is not critical for the test task.

3.By the way I wrote integration test, just for myself.

4.Service method registerUser returns boolean, because for test task it is the easiest way, to understand exists user or not.

Project structure

I have common structure of the project

registration_test_task's People

Contributors

deadlight1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.