Software Developer

Flavius Voicu:

I am a solution-oriented individual with a positive attitude and a focus on always delivering high-quality work. I enjoy working in teams and contributing to various areas, even those outside my specialty. I have a strong ability to learn and a keen interest in demonstrating my skills.

Tech Stack:

C
JavaScript
Java
React
Ionic
SpringBoot
SQL
Git

Projects:

cpp00:

Introduction to C++

cpp00 - Introduction to C++

Objectives:

Understand the basic syntax of C++.

Familiarize with the principles of object-oriented programming (OOP).

Learn about memory management and the use of pointers.

Apply good programming practices.

Compilation:

To compile the project, make sure you have a C++ compiler installed (like g++) and run the following command in the exercise directory:

```bash make```

Philosophers-C-:

Philo in C

Philosophers - The Philosophers Problem

Objective:

The goal is to simulate a group of philosophers sitting at a table, where each alternates between thinking and eating.

Requirements:

Knowledge of C programming.

Familiarity with thread programming (pthreads).

Compilation:

To compile the project, run the following command in the root directory:

```bash make```

Execution:

```bash ./philo <number of philosophers> <death time> <eat time> <think time> [number of meals]```

push_swap:

Stack Sorting

push_swap - Stack Sorting

Objective:

The goal is to implement a program that sorts numbers from a stack using minimal instructions.

Allowed Operations:

`sa`: Swap the first two elements of stack A.

`sb`: Swap the first two elements of stack B.

`ss`: Perform `sa` and `sb` simultaneously.

`pa`: Take the first element from stack B and place it in stack A.

`pb`: Take the first element from stack A and place it in stack B.

`ra`: Rotate all elements of stack A one position upwards.

`rb`: Rotate all elements of stack B one position upwards.

`rr`: Perform `ra` and `rb` simultaneously.

`rra`: Rotate all elements of stack A one position downwards.

`rrb`: Rotate all elements of stack B one position downwards.

`rrr`: Perform `rra` and `rrb` simultaneously.

Compilation:

To compile the project, run the command `make` in the root directory:

```bash make```

Execution:

```bash ./push_swap <numbers>```

pipex:

Simulation of Pipe Redirection in Shell

pipex - Simulation of Pipe Redirection in Shell

Objective:

The program should mimic the following shell command:

`< input_file command1 | command2 > output_file`

Compilation:

To compile the project, run the command `make` in the project root:

```bash make```

Execution:

```bash ./pipex input_file "command1" "command2" output_file```

so_long:

Game Created in C Using MiniLibX

so_long - Simple 2D Game in C

Features:

Character Movement with `W`, `A`, `S`, `D` keys.

Object Collection on the map.

Collision System with the environment.

Compilation:

To compile the project, run the command `make` in the root directory:

```bash make```

get_next_line:

get_next_line in C

get_next_line - Read Lines from a File Descriptor in C

Functionality:

The main function of the project is: `get_next_line(int fd)`.

Bonus:

With the bonus, `get_next_line` can read from multiple file descriptors independently without interference.

ft_printf:

Implement the printf function.

ft_printf - Custom printf Implementation in C

Implemented Features:

%c: Prints a single character.

%s: Prints a string.

%p: Prints a memory address in hexadecimal format (pointer).

%d or %i: Prints a signed integer in base 10.

%u: Prints an unsigned integer in base 10.

%x: Prints a number in hexadecimal format (lowercase).

%X: Prints a number in hexadecimal format (uppercase).

%%: Prints the % symbol.

Libft:

My first library

Libft - C Function Library

Content:

Standard Library Functions

String Manipulation

Conversion Functions

Memory and List Manipulation Functions

Installation:

To compile `libft.a`, simply run the following command:

```bash make```

Unity-2022-:

Unity game

Orange Picking Game

Main Menu:

Play: Starts the game.

Quit: Closes the game.

Game Controls:

Left Arrow: Moves the character to the left.

Right Arrow: Moves the character to the right.

Up Arrow: Makes the character jump.

Menu Button: Returns to the main menu.

Flutter-2022-:

App for managing loading docks.

Loading Dock Registry

Screens:

Days

Docks

Trailers

Add:

Dropdown: Selection of docks or trailers when adding a new day.

Text Field: Input field for additional data.

'+' Button: To add a new entry.

Save: Stores the entry in the database.

List:

Edit: Opens a creation view to edit input values.

Delete: Allows deleting the entry from the database.

Export Day: Exports the day in PDF format.

Angular-2022-:

Web app to manage employees' vacation days.

Angular-2022-

Description:

Web app to manage employees' vacation days.

Tech Stack:

Frontend: Angular with Bootstrap

Backend: PHP

Database: MySQL

Data Setup:

MySQL setup: user = 'root', password = '', databaseName = 'employees'

Data Load: JSON (workers.json)

SpringBoot-Thymeleaf-2022-:

Applications developed with Spring Boot and Thymeleaf.

SpringBoot-Thymeleaf-2022-

Description:

Applications developed with Spring Boot and Thymeleaf.

Projects Included:

Hangman Game: A classic word guessing game.

User Management: Login, registration, and MySQL integration.

Setup:

MySQL installed with 'root':'root'

Run with 'mvn spring-boot:run'

Access credentials: User: root@gmail.com, Password: Root1@

Cuentas-2022-:

Odoo module for managing investor and client information, sending emails, and monitoring services.

Cuentas-2022-

Description:

Odoo module for managing investor and client information, sending emails, and monitoring services.

TicTacToe-Sockets-2021-:

Implementation of the Tic-Tac-Toe game using JavaFX for the graphical interface and sockets.

TicTacToe-Sockets-2021-

Description:

Implementation of the Tic-Tac-Toe game using JavaFX for the graphical interface and sockets.

Features:

Game state management

Victory condition detection

Match starting functionality

Philosophers-Java-2022-:

Five philosophers alternating between thinking and eating, using semaphores to represent forks.

Philosophers-Java-2022-

Description:

Five philosophers alternating between thinking and eating, using semaphores to represent forks.

Key Concepts:

Semaphore usage for fork management

Deadlock and starvation avoidance

Repaint-JSP-2021-:

Basic repainting functionality using JSP.

Repaint-JSP-2021-

Description:

Basic repainting functionality using JSP.

Repaint-PHP-2021-:

Basic repainting functionality using PHP.

Repaint-PHP-2021-

Description:

Basic repainting functionality using PHP.

Work Experience:

HabberTec :
- Internship
Gained hands-on experience working on mobile and web applications for restaurant management, focusing on order handling, API integration, and building responsive interfaces.
Skills: Ionic, React, TypeScript, Kubernetes, Appian, IBM BPM,

Education:

IES Clara del Rey :
- Web + Multiplatform Application Development
Developed a solid foundation in programming and application design, learning to implement technological solutions using various languages and frameworks.
Skills: Java, Spring Boot, SQL, JavaScript, Angular, CSS, Bootstrap, HTML, Bash, Dart, Flutter, Python, C#,
42 Madrid :
- Programming Training
Studied in a self-directed environment, focusing on practical projects and programming skills without traditional classes.
Skills: C, C++, Unix, Bash,

Timeline 2D Game: