
Petr Plíhal
Full-stack Software Developer
I am a software developer with a focus on Python, C/C++, and web technologies.
About Me
Professionally
I'm a Software Developer who enjoys working on anything that makes sense and has real value. I'm not afraid of new challenges and I like learning new technologies and approaches.
I've been involved in computer science for years, building my foundation through studying at FIT BUT and creating personal projects.
Personally
I'm a tech enthusiast who enjoys creating and improving things - from drawings and Lego models to video games and software.
I believe in good planning and design. The questions "why?" and "what for?" are as important as "how?".
Technologies and Tools
Primary Expertise
- Web applications (Flask, Bootstrap, HTML+CSS)
- Databases (SQL - MySQL)
- Desktop applications (Tkinter, Python)
- Network applications (C/C++)
Development Tools
- Git & GitHub
- Docker
- Linux (CLI - WSL)
- VSCode
- LaTeX, Doxygen
Additional Experience
- Django, Vue.js
- Pytest, Unit tests
- Arduino, ESP32
Projects
Information System for Art School
Team project (3 members). Design and implementation of an information system for managing equipment rentals in art school studios. Focus on UX, user management capabilities (roles, permissions, login, registration).
Web Application for RPG Group Management
Team project (4 members). Market research, validation of design and final application with real potential customers. Database design and implementation. Backend in Django. Frontend in Vue. Development coordination in Trello. Project documentation in LaTeX.
Database for General Practitioner
Team project (2 members). We designed a relational DB (ERD), then implemented it including test data, triggers, procedures, views and indexes in SQL for Oracle database. For documentation we used LaTeX. I extended the solution with a Dockerfile.
WiFi Metronome with Web Interface
Microprocessor application hosting a small web server with interface for a 'metronome' that connects to a given WiFi network. MCU implementation used interrupts, timers, pulse width modulation, input validation. Web interface validated input ranges and prevented issues like double submission during use. The solution includes a user manual for setup and usage.
Client Application for Chat Server
Application for sending and receiving messages from a chat server. Uses sockets and manual TCP packet construction for unencrypted communication with the chat server. Implementation uses OOP with some design patterns.