Computer Science Student

Hi, I'm Maciej Serafin

I am a Computer Science student focused mainly on Java and backend development. I build practical software projects centered around REST APIs, databases, application structure, and problem solving through code.

While backend is my main direction, I also enjoy working across the wider technical stack when needed, including web fundamentals, deployment, Linux environments, and infrastructure basics.

  • Java Backend-oriented projects built around APIs, data, and application logic
  • Work + Studies Developing technical skills while balancing university and professional responsibilities
  • Hands-On Building projects, deploying apps, and learning outside classes

About Me

Student, self-learner, and builder of small to medium software projects.

I am a Computer Science student with a strong interest in Java, backend development, and understanding how software works beyond the surface level. Most of the projects I build are centered around APIs, databases, application logic, and clean project structure.

Alongside my studies, I work in a cash processing environment where I also take on supervisory responsibilities. Balancing work and university has taught me consistency, accountability, and how to keep improving under time constraints.

My main technical direction is backend development, especially in Java, but I am not limited to one narrow area. I am also comfortable working with web basics, deployment tasks, Linux environments, and related technical concepts when a project requires it.

I am looking to grow through practical experience, team collaboration, and projects that help me become a stronger software engineer.

Background

Education and work milestones that shape my technical and professional development.

Technikum - TEB Edukacja, Gdynia

Graduated as an IT specialist with a focus on Microsoft cloud technologies.

2019 - 2024

Cash Sorting Facility

Started in 2021 and took on ATM cash sorting supervisory responsibilities in 2024, combining operational work with team and process oversight.

2021 - Present

PJATK, Gdansk

Currently studying Computer Science at the Polish-Japanese Academy of Information Technology.

2024 - Present

Skills

Core technologies and tools I use while building backend and web projects.

Java Backend

Core stack I use to build Java backend applications.

  • Java
  • OOP
  • Spring Boot
  • REST API Design
  • JPA / Hibernate
  • Spring Data JPA
  • Spring Security
  • Maven
  • Gradle

Backend Architecture

Patterns and practices used across my backend projects.

  • Layered Architecture
  • DTO Mapping
  • Bean Validation
  • Global Exception Handling
  • Spring Security
  • Scheduled Tasks
  • Caching (Caffeine)
  • Multi-module

Data and Integration

Database work, API data flow, and config-driven setup.

  • SQL
  • PostgreSQL
  • MariaDB
  • Schema Design
  • Relational Data Modeling
  • API Integration
  • JSON Processing
  • Externalized Configuration

Tooling and Quality

Tools I use for development workflow, testing, and API work.

  • Git
  • GitHub
  • Docker
  • IntelliJ IDEA
  • Swagger / OpenAPI
  • Postman
  • CLI Productivity

Web and Deployment

Frontend basics and deployment environment I work with.

  • HTML5
  • CSS3
  • JavaScript
  • PHP
  • HTTP Basics
  • Linux (daily use)
  • Bash
  • VPS Management
  • Nginx
  • App Deployment

Additional Exposure

Related technical areas and practical experience outside core backend.

  • Computer Networks Basics
  • Client-Server Architecture
  • C#
  • C++
  • Assembly basics
  • Minecraft Server Hosting
  • Modpack Optimization
  • Open-Source Mod Tweaks
  • Performance Tuning

Projects

Selected projects that reflect my practical learning and engineering approach.

Java Projects

Backend and desktop projects focused on architecture, API design, and structured application logic.

currency-monitor-api

Java / Backend System

Modular Java application that fetches, validates, and stores exchange rates from the NBP API. It separates business logic, API integration, persistence, and runtime concerns, then exposes data through a REST API.

  • Java 17
  • Spring Boot
  • Multi-module Maven
  • REST API
  • PostgreSQL
  • JPA / Hibernate
  • Docker
  • Scheduler
  • Caffeine Cache

library-management-api

Java / Spring Boot REST API

Library management backend with layered architecture and REST endpoints for books, users, libraries, and borrow operations. Includes DTOs, filtering logic, exception handling, and database persistence.

  • Java 21
  • Spring Boot
  • REST API
  • Spring Data JPA
  • PostgreSQL
  • OpenAPI

task-manager-api

Java / Spring Boot Web App

Spring Boot task manager with authentication and role-based access using Spring Security. The project includes user and task modules, JPA persistence, Thymeleaf login view, and secured endpoints for task and user management.

  • Java 21
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Thymeleaf
  • H2 Database

task-manager-swing-app

Java / Swing Desktop App

Java Swing desktop application for task management built to practice GUI structure, user input handling, and clean separation between view and task model logic.

  • Java 17
  • Java Swing
  • Maven
  • Desktop GUI

Java Games

Game-focused projects exploring loops, rendering, interaction systems, and custom architecture.

Sisyphus the Mushroom

Java / 2D Desktop Game

Top-down game with custom loop, tile map, NPC interactions, collectibles, ranged and melee combat, collision handling, audio, and a separate map editor.

  • Java
  • Java Swing
  • 2D Tile Engine
  • Game Loop
  • Combat System
  • Map Editor

TextNovelEngine

Java / Narrative Engine Runtime

Runtime engine for text visual novels with hierarchical story structure, dynamic story loading, branching choices, scene jumps, and a custom Swing reader UI.

  • Java
  • Swing UI
  • Gradle
  • Engine Architecture
  • State Management
  • Runtime Compilation

Flappy Bird

Java / Swing Desktop Game

Desktop Flappy Bird implementation with custom loop, keyboard controls, collision logic, scoring, restart flow, and integrated sound effects.

  • Java
  • Java Swing
  • Game Loop
  • Collision Detection
  • Keyboard Input
  • Audio Effects

PHP Projects

Web projects built to practice request flow, authentication, and lightweight persistence.

PHP ToDoList

PHP / Web App

Pure PHP task management app created to understand full request-response flow, session handling, role-based access, and CSV persistence with backup support.

  • PHP
  • HTML
  • CSS
  • Session Auth
  • CSV Storage

PHP Library

PHP / Web App

Simple book library app in pure PHP focused on object-oriented design, form handling, and CSV-based data persistence.

  • PHP
  • HTML
  • CSS
  • CSV Storage
  • OOP Domain Model
  • Form Handling

Contact

If you would like to get in touch, send me an email and I will respond as soon as possible.

macieserafin@gmail.com