Hi, I'm Martin Atanasov. Java backend developer.

My personal projects

Computer Store - Spring Fullstack demo project 

Software architecture: MVC

Project status: in development (early stage)

Clould Platform: AWS Elastic Beanstalk 

This is online store web application. 

Features: The web application supports roles (customer, manager, admin), login/register, dynamic search for products, order products, data caching, sort and pagination, frontend optimisation (static resource cashing, gzip convertion), notifications, error handling

Tools/library: Java 21, Spring (Web MVC, JPA, Validation, Actuator, Data REST, Data cache, Security, AOP), Thymeleaf, JavaScript, Lombok, Bulma (Boostrap competitor), Swiper, Maven, MySQL

Contacts app - Fullstack project with Micronaut and Angular

Software architecture: MVC

Description: 

This is a CRUD application for contacts, and the assignment was a task for a full-stack developer. When starting this project, I decided to highlight my backend skills and learn more about frontend framework applications and how they interact with the backend. This is the first frontend application I've built, and I set myself the goal of completing the functionalities from the assignment within two days. Despite the success I achieved with the functionalities, there were issues related to the lack of good design, security, forbidden routing links, and for this reason, I decided to go back and make improvements to the frontend part. 

Features: 

An application with CRUD functionalities. The project allows working through an Angular user interface, generated UI via Swagger, or Postman collections through a Restful API. 

Software:

Frontend: Angular 18, Node 20, TypeScript

Backend: Java 17, Micronaut, Gradle, Hibernate, Lombok, OpenAPI v3

Other: PostgreSQL 16, git, Docker, Postman

Book vault - Fullstack project with Spring and Vaadin flow

Software architecture: MVC

Description: 

This is a book vault with fully asynchronous CRUD functionalities and support for data caching. The application uses a Java template called Vaadin, which generates a React-based frontend. Access to the backend is handled through a specific router defined in the template, and access via Postman collections for working with the RESTful API is also possible. The project includes integration tests for the services. 

Tools/library: Spring, Java 21, WebFlux, Spring cache, Lombok, Awaitility, Mapstruct, Vaadin Flow (UI Framework), Postman, Logbook 

Event Notebook (Android OS - Java)

Software architecture: MVC

Project status: in development (mid stage)

This is notebook for life events. 

Features: App themes, CRUD new Event, add location, avatar and priority, start-end time (time and date picker), android notifications, alarm manager, notification channels, custom dialogs, tutorial guide, navigation menu, animated views, REST requests, UI test example with Espresso.

Tools/library: SQLite,  Glide, Volley, Espresso, Shimmer, MPAndroidChart, Easypermissions

Spring JPA Rest Data and Swagger-UI Example (Java)

Software architecture: MVC

This is Spring JPA rest project with MySQL database and swagger-ui for testing purpose. CRUD operations on the test data class with validations and custom exception handler. 

Tools/library: MySQLJava, Spring, JPA Data with Rest, JPA Validations, Swagger-UI

Automation tests (Java, Selenium, POM) 

1. Login form

2. Motionintegrator workshop

Login form test scenario:

Motionintegrator workshop test scenario:

Tools: Maven, TestNG, Selenium, WebDriverManager, Page Object Model, headless tests, mobile tests

Freelance - Comerse website (HTML, CSS, JS)

This website is product for real customers. About technologies I use html, css, Javascript, boostrap framework especially for the navigation bar, AOS timing library, google analitics, google maps api and SEO check free tools. It is very popular and easy to find.

Simple Calculator - available at Play Store (Android OS - Java)

Features: Beautiful design, Working interface, Display mode: portrait/landscape, Resolution: MDPI, HDPI, XHDPI, XXHDPI, XXXHDPI, DayNight mode.

Fishing game (Java - MVC)

Software architecture: MVC

This is console game writen in Java.

Features: XML parser for string resources, save/load records in/from .txt file, color messages, game navigation, game score calculation


https://github.com/balantaim/FishingGame-Java-MVC 

PostgreSQL - Relational DB example (OS-Linux)

Task 1 "query": Create relational database with records:

Task 2 "usersAndSecurity": Increase security by creating roles, users, manage schema privilegies:

Tools: PostgreSQL, Linux OS

Complete project list: github.com/balantaim