Position: Front-end developer
Category: JavaScript
English level: intermediate
Years of experience: 1.5


Project: 	Internal project "Courses" (Angular 2+):
 - An authenticated user obtains on web-page of the application all existing courses, edits it, creates it, deletes it, and also searches for them the in "search" field;
 -The color of cell/border or marks in the table's courses can tell you about the ranking, relevance, course launch period.
Participation:	-Implemented the structure of the project: components, services, modules, pipes, directives, interfaces;
 -Implemented an authentication of user ("login" page), "CRUD" operations that are executed on the course via services.
 -Implemented a responsive design for the whole project; 
-Implemented communication between the view and the component using the one and the two-way binding: interpolation, property binding, event binding, ngModel directive;
 -Implemented communication between "child" and "parent" components using "_Input" and "_Output" decorators; 
-Implemented communication between "childs" components using "MessageService" service and RxJS;
 -Implemented "Dependency Injection" during realization of the services;
 -Implemented attribute (custom one) , structural (*ngIf, *ngFor) directives for rendering the page following logic and adding color effects and marks in the "courses" table;
 -implemented "onPush" detection strategy for the "CourseEditComponent" and the "CoursesAddComponent" components; -Added routing to the app, "404 page";
 -Implemented "lazy loading" for the components; -Implemented Auth Guard : "canLoad" type of Route Guards for "lazy loading" modules;
 -Implemented unit testing for components, services, pipe, directives.
Project Team Size:	1 member (and 1 mentor for reviewing the project)
Database: I used "Local Storage" as DB
Tools:	WebStorm , GitHub, Git, Developer's tool in a Browser
Technologies: Angular CLI, TypeScript, Angular 2+, CSS/HTML, CSS Flexbox layout, Node, RxJS