My name is Ioana and I am a Software Engineer.
Drop me a note or get in touch with me: Google Form.
- Java, Python, Spring, Spring Boot, J2EE
- REST APIs, OpenAPI, Swagger, GraphQL, OpenFeign, Microservices
- Kafka, JMS, PostgreSQL, MySQL
- Git, Maven, Ant, CI/CD, Jenkins, SonarQube, Docker, AWS
- JUnit, Mockito, TestNG, EasyMock, WireMock
- React, Node.js, ZK Framework, TypeScript, JavaScript, HTML, CSS, LESS
Here are some projects I've been working on (sharing is caring).
In the meantime, you can play a nice puzzle game developed by me ๐ฎ: https://ioana-amariei.github.io/jigr/
Developed a client side Web application that allows solving puzzles defined by users. Each player is able to select โ locally or remotely via a URL โ an image that will be cropped at runtime into fragments as complicated as possible. The pieces will be mixed, the shifts / swings can be performed via drag & drop operations. The application also provides support for snap placement in the right area. The current status of each puzzle can be saved locally with the possibility of subsequent restoration. Here you can play the game live: https://ioanabirsan.github.io/jigr/
Tech: JavaScript, HTML, CSS
HTTP Deduplication Proxy (https://github.com/ioanabirsan/http-deduplication-proxy)
Designed and developed a Java application that acts as an HTTP proxy for incoming requests. The application exposes an API endpoint that can receive an ID and another URL endpoint and then calls the endpoint provided as argument with the number of unique IDs received so far. The number of unique IDs received is also periodically written to multiple sinks (e.g., log file, Redis) using the Spring Scheduler mechanism. Tested the load of the application using JMeter.
Tech: Java, Spring, Spring Boot, Lombok, Redis, JMeter, Docker
The Web application is a tool for searching, aggregating, and viewing information regarding various media resources: articles, books, videos, and presentations. The user is able to retrieve information of interest using various filters. The application also exposes the information through an HTTP API for programmatic access.
Tech: PHP 5, JavaScript, HTML, CSS
Web-based microservices application for the management of courses and laboratories. Functionalities: user registration, authentication mechanism, sending notifications via email and SMS, assessment of students, and uploading and downloading of courses/labs materials.
Tech: C#, .Net Core, Swagger, Sql Server, Microsoft Azure Blob Storage
Easy Learn (https://github.com/ioanabirsan/easylearn)
Web application that provides a training ground for programmers, similar to infoarena, pbinfo, or .campion. The application exposes a set of problems for which submissions can be sent in several programming languages (i.e., Java, C++, and Python). The platform evaluates the submissions against a battery of tests. The application also enables the addition of new problems. The Angular front-end accessed the functionality exposed by the Java back-end using an HTTP API.
Tech: Java, Spring, MySQL, Swagger
Semantic Web API Specification (https://github.com/ioanabirsan/Licenta2019)
Added support for Semantic Augmentation of OpenAPI Specification within Swagger Editor & Swagger UI open source tools. Swagger Editor was extended to support custom properties (i.e., x-same-as and x-rdf-type), suggestions and autocomplete support for the newly added extensions, contextual suggestions and autocomplete support for concepts retrieved from Schema.org, and the ability to convert and save an OpenAPI definition in Turtle format. Swagger UI was extended to incorporate Structured Data in the generated OpenAPI definition documentation using Microdata, the retrieval of metadata from Schema.org for each element that has been augmented with semantics and its inclusion in the generated documentation, and the association of elements from the OpenAPI definition with concepts from the Schema.org vocabulary.
Tech: OpenAPI Specification, React, RDF
Client-server application that simulates the RPC protocol. The server exposes a list of predefined procedures using XML documents, while the client is able to retrieve the list, parse it, send requests to the server, and display the results of the invocations. The communication between the client and the server was done using the Socket API.
Tech: C++, pugixml
Minesweeper (https://github.com/ioanabirsan/minesweeper)
Developed a CLI version of the Minesweeper game. The application includes support for: random mines generator with a number of bombs threshold, option to mark a particular square with a flag, and the possibility to reveal all adjacent squares if no mines are present.
Tech: C++
K Syntax Highlighter (https://github.com/ioanabirsan/K-Syntax-Highlighter-for-Intellij-IDEA)
Designed and developed a plugin for Intellij IDEA that provides syntax highlighting capabilities, autocompletion support, and recognition of files for the K Semantic Framework.
Tech: Java, BNF Grammars, JFlex
Quiz Game (https://github.com/ioanabirsan/wpf-questionnaire)
- Quiz Game desktop application developed using C# and XML.
- The user has the ability select a desired complexity level for the quiz.
- Depending on the selected complexity level, the application provides relevant questions with possible response options.
- The user has the ability to select the correct answer for each question.
- At the end, the application summarizes the administered test results and the user has the possibility to take another test.
- The questions and possible answers are stored in XML format.
Tech: .NET Framework, C#, XML