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:
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.