Position: Junior Java Developer
Category: Java
English level: intermediate
Years of experience: 1

Became fluent in Java. Got acquainted with development technologies using Java. Got skills in developing real working application from scratch.
Experienced in web development. Completed educational summary project using such tools as Java, Java EE, JDBC, MySQL, Apache Tomcat. 
Developed the UI part using JSP, JSTL, CSS, Bootstrap, JS, experienced in writing unit tests using JUnit 5 and Mockito frameworks.

Project Description: This is a web application based on servlets and JSP pages that uses the MVC architecture. The application provides a list of courses that are available for students. Each course has a unique topic and is taught by a specific teacher who evaluates the students at the end of the course.
Please find the list of roles in the project below. 
Student:
- register for available courses;
- view their personal details and course registration information;
- view their own course schedule and assigned courses.
Teacher:
- manage students of the course including setting a mark for each student;
- view their own course schedule and assigned courses.
Administrator:
- register teachers in the system;
- add, edit and delete information about courses, topics and user data;
- block/unblock users.

Designed overall architecture for the project. Used the following patterns: Singleton, DAO, PRG, Abstract Factory, Builder, Command and etc.;

Developed database architecture and logic (constrains, indexes, relations) using MySQL DBMS;

Developed DAO interfaces and its implementations, used Apache Tomcat connection pool and JDBC API for DB operations, wrote SQL queries, implemented transactions;

Implemented pattern “Command”. Used “Front controller” pattern (with one dispatcher servlet) and commands for performing required actions, providing project functionality. Used Apache Tomcat as servlet container;

Implemented user authorization and authentication, password encryption, access rights control, session handling, data sorting, filtering and pagination, input validation with regex;

Developed functional UI interface (JSP + JSTL, Bootstrap CSS, JS), implemented localization of UI for two languages;

Provided exception handling, event logging (Log4j2), unit testing (JUnit5, Mockito), code documentation.
I am excited about the prospect of working with more experienced developers who can help me grow and improve as a developer. I am eager to continue learning and developing my skills.
I am committed to staying up-to-date with the latest developments in the industry and am always looking for ways to expand my knowledge and expertise.
I also have experience working in a team and communicating with others to achieve common goals. I want to become an active and engaged member of the team.
I am also highly motivated about Java development, always ready to improve my skills, and I am committed to producing high-quality work that meets the needs of the client or end-user.