System of online store . The administrator maintains a catalog of goods and shares. The client makes and pays for an order for goods.
On the site you can see the contact details of the online store, the catalog of goods and shares. The user can enter the account or register a new one. Implemented the change of languages (ru and en).
When authorizing, you can view your profile, add goods (if any) to the basket or remove them from it. Also, the user can place an order and view all his orders.
The administrator can add or change a new product and promotion. The administrator of all active orders of users with their personal information has been implemented, there is the possibility of confirming the order or canceling it.
• Information about the subject area should be stored in the database
• If the data in the database is stored on Cyrillic, it is recommended to use UTF-8 encoding
• TECHNOLOGIC TECHNOLOGIES ONLY JDBC
• To work with the database in the appendix, a streamline pool of connections must be implemented, using Synchronized and Volatile is prohibited
• When designing a database, it is recommended to use no more than 6-8 tables
• Work with data in the Appendix to carry out through DAO or Specification templates
• Implement protection against SQL Injection
• Application to implement using Servlet and JSP technologies
• The architecture of the application must correspond to the Layered Architecture and MVC Controller templates can be only two types: the role controller or application controller
• the application interface must be localized; Choice from languages: en | be | de etc
• The application should correctly process the emergency situations that arise, including leading their logs. As a logger use log4j2/slf4j
• Classes and other entities of the application should be competently structured according to packages and have the name reflecting their functionality
• When implementing the business logic of the application, you should use the design templates if necessary, the GOF: Factory Method, Command, Builder, Strategy, State, Observer, Singleton, Proxy etc)
• To store user information between requests, use the session
• To intercept and adjust the query objects and response (Response), use filters
• It is allowed to use Aspectj and Web-Services technologies
• When implementing JSP pages, JSTL library tags should be used
• Use script is prohibited
• When implementing a user interface, it is allowed to use any Front-End Development technology (JS, AJAX)
• implement protection against CROSS SITE Scripting (XSS)
• implement protection against re -execution of the request by pressing F5
• implement your own tags
• View “Long Lists” is advisable to organize in page
• Input validation is carried out on the client and on the server
• Documentation for the project must be drawn up according to Javadoc requirements
• Code design must correspond to Java Code Convention
• When deploying the application, it is allowed to use Maven technology
• The application must contain Testng, Junit, Mockito or Easymock tests.
• Authorization (sign in) and output (sign out) in/from the system
• User registration and/or adding an artifact of the subject area of the system
• View information (for example: viewing all the rates of the totalizer, statistics of orders, accounts, etc.)
• Removal of information (for example: cancellation of an order, deletion of entity, etc.)
• Addition and modification of information (for example: create and edit the goods, create and edit the order, etc.)
