Java Developer Student

Hi, my name is Yunus Uludag

I am looking for an internship (LIA) starting November 9, 2026 (week 46), where I can apply my knowledge, contribute to development projects and continue growing as a developer.

Profile picture of Yunus Uludag

Yunus Uludag

Java Developer Student

About me

I am 33 years old, based in Stockholm and studying to become a Java developer. I am looking for opportunities to further develop my practical skills in programming and software development.

I am curious, committed and eager to learn more by working on real projects and in team environments.

Education

2025 08 25 – 2027 06 04 (Ongoing)

Java Developer

IT-Högskolan

  • Java Programming
  • Database Development
  • Java Tools and Build Environments
  • Enterprise Java Development
  • Web Services and Integrations
  • Web Application Development
  • Agile Development
  • LIA Internship
  • Degree Project

2015 03 30 – 2015 05 08

Security Guard Training

Väktarskolan

  • VU 1
  • Expandable Baton
  • PYT (160 hours)
  • VU 2

2009 – 2012

Automotive Technology

STFG (Upper Secondary School)

  • Passenger Vehicle Technology

Individual Electives

  • MIG / MAG & TIG Welding
  • Forklift Operator Certificate A, B and D

Skills

Development

  • Java / Spring Boot
  • Spring Security / OAuth 2.0 / JWT
  • REST APIs
  • HTML / CSS / JavaScript
  • React / TypeScript / React Router
  • Tailwind CSS
  • Node.js / Express
  • PostgreSQL / Neon
  • RabbitMQ / CloudAMQP

Development Tools

  • Git / GitHub
  • IntelliJ IDEA
  • Visual Studio Code
  • Trello

Testing

  • JUnit 5 / Mockito
  • Vitest / React Testing Library
  • Playwright / End-to-End Testing

DevOps & Deployment

  • Docker
  • CI/CD
  • GitHub Actions
  • Render

Projects

School Projects

Agile Webshop – React Frontend

Project Group Work + Individual Extension Course 6: Web Application Development Course 7: Agile Development

Completed in a team of three, this webshop combines a React and TypeScript frontend with Spring Boot microservices through an API gateway. Features include JWT authentication, a searchable product catalog, category filters, a shopping cart and role-based product administration. The frontend and backend services were deployed on Render using Docker images.

My contributions included product views and creation, category filtering, gateway endpoints, MSW integration tests and backend documentation. We worked in Scrum sprints with Trello, pull requests, code reviews and Docker-based CI/CD. I also maintained an individual log for each sprint, documenting my contributions, challenges and reflections on our agile workflow.

As an independent extension, I added a Stripe payment microservice with test Checkout, verified webhooks and order status updates. I also implemented account creation and deletion flows, a demo password reset flow and service status pages with links to the frontend, along with updated README files and Javadoc.

This is a school project created for educational and demonstration purposes. Payments are processed only in Stripe's test environment.

For a test purchase, use Stripe's test card number 4242 4242 4242 4242. The remaining fields can contain test values, for example 12/34, 123 and Name Lastname. Read more in the repository README.

The README file is only available in Swedish.

The services run on Render's free tier and may therefore take a little while to wake up. Open the services above and wait until their status pages confirm that startup is complete before testing the application.

Email delivery is unavailable on the free tier, so email confirmations are not sent.

Flows for creating and deleting accounts are now available, along with a demo password reset flow.

Java Spring Boot REST API OpenAPI / Swagger JWT React TypeScript React Router Tailwind CSS PostgreSQL RabbitMQ Docker Render Vitest React Testing Library MSW Trello GitHub Actions Scrum Stripe

Task Board

Lab Assignment Individual Work Course 6: Web Application Development

Full-stack task board developed with React, TypeScript and Tailwind CSS. The application displays tasks in Todo, Doing and Done columns, supports real-time search and provides a separate form for creating new tasks.

Tasks are loaded and created through a Node.js and Express REST API, with persistent storage in Neon PostgreSQL. React Router provides separate views for the task board and form, while Vitest and React Testing Library are used for component testing.

React TypeScript Tailwind CSS React Router Node.js Express REST API Neon PostgreSQL Vitest React Testing Library

Responsive Webshop

Lab Assignment Individual Work Course 6: Web Application Development

Responsive webshop developed with semantic HTML, CSS and JavaScript. The website includes a product catalog, featured products, a shopping cart, accessible forms and media content, with layouts adapted for desktop, tablet and mobile devices.

Product data is loaded asynchronously from a JSON file using the Fetch API and rendered dynamically. The project also focuses on accessibility through descriptive alternative text, keyboard-visible focus indicators and WCAG-compliant color contrast.

HTML CSS JavaScript JSON Fetch API Responsive Design Accessibility WCAG

Microservices Webshop

Project Group Work Course 5: Web Services and Integrations

Backend for a webshop built with a microservices architecture. The system consists of an Auth Server, Product Service, Order Service and Email Service. Communication is handled through REST and RabbitMQ, JWT is used for authentication, and PostgreSQL is used for data storage.

My main responsibility was the Order Service, where I worked with order logic, communication with the Product Service, JWT forwarding and RabbitMQ integration.

Java Spring Boot REST API OpenAPI / Swagger JWT RabbitMQ PostgreSQL Docker GitHub Actions Render

Google Gemini AI Integration

Lab Assignment Individual Work Course 5: Web Services and Integrations

Web application developed with Spring Boot and integrated with Google Gemini through a REST API. Users can ask questions through a web interface and receive AI-generated responses in real time.

The solution uses Thymeleaf for the frontend, PostgreSQL for data storage and Spring Data JPA for database access. Each question and answer is stored in the database and displayed in a history view. The Gemini integration was implemented manually using HTTP requests and JSON data to gain a deeper understanding of API communication and external services.

Java Spring Boot REST API JSON Google Gemini PostgreSQL Spring Data JPA Thymeleaf HTML CSS

Two-Factor Authentication with an Authenticator App

Project Individual Work Course 4: Enterprise Java Development

A standalone project where I built a secure login flow with Spring Boot and Spring Security. Users can register, choose whether to enable two-factor authentication, and then sign in using a password and a time-based code from Microsoft Authenticator or Google Authenticator.

The project generates a secret key that is stored in PostgreSQL and embedded in a QR code that can be scanned by an authenticator app. Protected pages require both a successful login and a verified MFA code.

Java Spring Boot Spring Security PostgreSQL 2FA MFA TOTP QR Code Thymeleaf

Secure Webshop

Project Group Work Course 4: Enterprise Java Development

Secure webshop built with Spring Boot. The system includes registration, login, product catalog, shopping cart, order management, profile page, GDPR-compliant cookie handling and administrator functions. Order confirmations are sent through a separate Message Service responsible for email delivery.

My main responsibility was the product area, where I worked with the Product entity, ProductRepository, ProductService, the product page, an admin function for creating products, and tests using both an H2 database and a mocked repository.

Java Spring Boot Spring Security PostgreSQL Thymeleaf Docker Render Message Service GDPR Testing

Real-Time Chat with Jakarta EE and WebSocket

Lab Assignment Individual Work Course 4: Enterprise Java Development

Developed a web application with Jakarta EE where users can register accounts, log in and communicate in real time. The application uses JSF as the presentation layer, CDI for dependency injection, JPA for database management and PostgreSQL for storing user data.

Implemented user registration, authentication and session management, and developed a separate WebSocket server that enables real-time communication between connected clients.

Java Jakarta EE JSF CDI JPA WebSocket PostgreSQL Maven MVC

JavaTools – CRUD System with Spring Boot

Project Group Work + Individual Extension Course 3: Java Tools and Build Environments

Team-developed web application built with Spring Boot for managing the Drink, Food, Pizza and Spirit resources. The application follows the MVC architecture and provides full CRUD functionality with Thymeleaf as the presentation layer and PostgreSQL (Neon) as the database. I containerized the application with Docker and was responsible for deployment on Render.

My main responsibility was developing the Drink module, where I implemented controller, service, repository and validation logic as well as custom exceptions.

As an individual extension, I implemented a Jenkins-based build process with Maven Wrapper, Logback-based logging and integration tests with Spring Boot, MockMvc and H2 to automate the build, testing and quality assurance process.

Java Spring Boot Spring MVC Spring Data JPA Hibernate Thymeleaf PostgreSQL Neon Docker Render Jenkins CI/CD MockMvc JUnit 5 H2 Logback Maven

ATM System – Spring Boot Application with Unit Testing and End-to-End Testing

Lab Assignment Individual Work Course 3: Java Tools and Build Environments

Individual project developed with Spring Boot using a layered architecture (Controller, Service and Component) to simulate basic ATM functions such as deposits, withdrawals and balance management. The application uses Thymeleaf for presentation and implements custom error handling through custom exceptions for different business rules.

I implemented business logic for transaction validation, balance management and withdrawal limits. The project was complemented with extensive testing using JUnit 5 for unit tests, Mockito for isolated testing of the service layer and Playwright for end-to-end testing of the web interface. The tests verify both normal user flows and error handling to ensure that the application works correctly throughout the stack.

Java Spring Boot Spring MVC Thymeleaf JUnit 5 Mockito Playwright H2 Database Maven Dependency Injection Exception Handling Unit Testing End-to-End Testing MVC

Group Project – Spring Boot MVC Application with Thymeleaf

Lab Assignment Group Work Course 3: Java Tools and Build Environments

Team-developed web project built with Spring Boot and Thymeleaf according to the MVC architecture (Model–View–Controller). The application consists of several functional modules for managing and presenting users, people, appointments, ratings, tags, comments, tasks and queues through separate controllers, models and views.

I participated in developing backend logic and the web interface by implementing Spring MVC controllers, creating domain models and building dynamic Thymeleaf views. The project provided practical experience with routing, data transfer between controller and view, the use of model objects and structuring a Java-based web application according to established design principles.

Java Spring Boot Spring MVC Thymeleaf MVC HTML Model-View-Controller Routing Dependency Injection Maven Git Teamwork

Chat Application with Java and Spring Boot

Project Individual Work Course 2: Database Development

Developed a client-server chat application where multiple users can connect simultaneously, register accounts, log in and send messages in real time. Communication between client and server takes place via Java Sockets, and the server handles multiple clients in parallel using multithreading.

Implemented storage of users and message history with Spring Boot, Spring Data JPA and MySQL. The project follows a layered architecture with separate service, repository and domain layers and includes unit tests written with JUnit and Mockito.

Java Spring Boot Spring Data JPA Hibernate MySQL Java Sockets JUnit 5 Mockito

Database Access with JDBC

Lab Assignment Individual Work Course 2: Database Development

Lab project focused on Java Database Connectivity (JDBC) and relational databases. Implemented a database connection to MySQL and functionality for storing and retrieving data using SQL queries.

The project uses the DAO pattern to separate database logic from application logic and includes management of database connections, PreparedStatements and mapping between database tables and Java objects.

Java JDBC MySQL SQL DAO Pattern PreparedStatement

Database Modelling and SQL

Lab Assignment Individual Work Course 2: Database Development

Lab project focused on relational databases and SQL. Worked on creating databases and tables, defining primary and foreign keys and performing CRUD operations for data management.

The project also included database normalization according to First Normal Form (1NF), modelling relationships between tables and using JOIN queries to retrieve related information from multiple tables.

SQL MySQL Database Design Normalization CRUD Joins

MongoDB and NoSQL Databases

Lab Assignment Individual Work Course 2: Database Development

Lab project focused on document-based databases and MongoDB. Implemented a DAO layer in Java to manage storing and retrieving data from a MongoDB database in the cloud (MongoDB Atlas).

The project included CRUD operations, filtering, updating and deleting documents, as well as using the MongoDB Java Driver for communication between the application and database.

Java MongoDB NoSQL MongoDB Atlas CRUD DAO Pattern

Text-Based Adventure Game

Project Individual Work Course 1: Java Programming

Individual extension of a text-based adventure game in Java based on a provided starter project. The game is built on object-oriented principles where the player explores different environments, fights enemies, collects items and develops their character.

Implemented new game areas, enemies and game mechanics as well as file-based storage of statistics using the DAO pattern, a leaderboard, the Builder Pattern for creating players and the Singleton Pattern for application configuration.

Java OOP Design Patterns Builder Pattern Singleton Pattern DAO Pattern File Persistence Console Application

Console-Based Webshop

Project Individual Work Course 1: Java Programming

Developed a console-based webshop in Java where users can create, search for and view products. The application uses object-oriented design with inheritance, abstract classes and polymorphism to handle different product types.

Implemented file-based storage through serialization to save and load products between runs, as well as support for both console-based and dialog-based user interfaces through a common interface.

Java OOP Inheritance Polymorphism Interfaces Serialization File I/O Console Application

Basic Java – Methods and Arrays

Lab Assignment Individual Work Course 1: Java Programming

One of the first lab assignments in the program, focused on fundamental Java programming. The assignment involved working with methods, arrays, loops, parameters and return values to build an understanding of the language's fundamental constructs.

Implemented functions for printing arrays, finding the largest value and methods with parameters and return values. The project laid the foundation for later work with object-oriented programming.

Java Methods Arrays Loops Parameters Return Values

Private Projects

Football Club Platform

Project Individual Work Private In development

Full-stack football tournament platform where clubs organise tournaments from registration to final: categories with age-based game formats, groups by skill level, venues, referees, group and playoff fixtures, results and automatic standings.

Built with secure account-free team links for squads and match line-ups, automatic playoff progression, formation-based line-ups and substitutions, two-factor authentication, email notifications, multilingual support, light/dark themes, automated tests, CI/CD and Docker. Paid access for tournament organisers and payment for team registrations are planned for a later launch.

Java Spring Boot Spring Security Spring Data JPA TOTP 2FA / QR Code Thymeleaf HTML / CSS / JavaScript JUnit 5 Mockito Maven Spring Mail / SMTP PostgreSQL H2 Docker GitHub Actions

Smart Price Tracker

Project Individual Work Private Beta In development

Full-stack price-tracking application where users can monitor product URLs, set target prices, review price history and receive configurable email notifications when prices change or reach their targets.

Built as an independently developed production-style service with secure account management, Google OAuth 2.0, two-factor authentication, subscription-ready Stripe integration, RabbitMQ-based notification processing, automated tests, CI/CD and an always-on Docker deployment on Render. The public Premium subscription is planned for a later launch.

Available at launch

The application link will be activated when the project launches.

Java Spring Boot Spring Security Spring Data JPA OAuth 2.0 TOTP 2FA / QR Code Thymeleaf HTML / CSS / JavaScript Jsoup JUnit 5 Playwright OpenAPI / Swagger Maven Resend RabbitMQ Stripe Neon PostgreSQL Flyway Docker GitHub Actions Render

Work Experience

2022 11 01 – 2023 07 03

Avarn Security

Role: Static security duties during both day and night shifts at a shopping center.

Responsibilities: Locking and unlocking premises, responding to fire alarms, staff assistance, reporting, handling unusual incidents and crime prevention.

2021 07 19 – 2022 11 30

Tempest Security

Role: Static security duties during daytime at a larger site in Södertälje, primarily involving visitor reception, goods reception and vaccination reception during the peak period of Covid-19 vaccination.

Responsibilities: Delivery checks and traffic guidance, access control, speed monitoring within the area, reporting, handling unusual incidents and crime prevention.

2016 05 06 – 2021 11 29

Rapid Säkerhet

Role: Patrolling, alarm response and disturbance call-outs. Night shifts only.

Responsibilities: Responding to intrusion alarms (motion detectors, magnetic contacts and glass-break detectors), camera alarms, fire alarms and panic alarms, as well as reporting and crime prevention.

2015 06 13 – 2016 05 31

Bevakningsgruppen Mälardalen

Role: Static security duties during both day and night shifts at sites such as Ica Maxi, retail areas and events.

Responsibilities: Locking and unlocking premises and crime prevention.

Frequently asked questions

When does your internship start?

My internship starts on November 9, 2026, in week 46.

How long is the internship period?

It runs continuously until week 22 of 2027, giving the company and me almost seven months of uninterrupted collaboration.

Are you only interested in Java?

No. Java is my main focus, but I am open to other programming languages, technologies and areas of software development.

What can you contribute during the internship?

I contribute practical programming experience, problem-solving, responsibility and collaboration, along with a strong motivation to learn and contribute to real projects.

How do you use AI in development?

I use AI as a development tool for learning, research, problem-solving and efficiency. I review and verify its suggestions and remain responsible for understanding the code, its quality, security and the final result.

Cover letter

Hello,

My name is Yunus Uludag and I am studying to become a Java developer. I am currently looking for an internship (LIA) from week 46 of 2026 (November 9) to week 22 of 2027, where I can develop my practical skills and contribute to real projects and teams.

One advantage of our internship period is that it runs continuously for almost seven months rather than being divided into two separate periods. This gives the company continuity while allowing me to become part of the team and contribute to ongoing projects.

Another advantage is that I am self-driven and manage well on my own, so I almost never need supervision. If the opportunity exists, I am happy to take charge of a new project. I am equally comfortable working remotely or on site, and I offer almost seven months of work at no cost to the company.

During my studies, I have worked extensively with practical programming and gained experience with Java, databases, Git and object-oriented programming. I am motivated by new projects that give me the opportunity to build on my knowledge.

I spend much of my free time developing my own products, which gives me the opportunity to turn ideas into practical solutions and continuously strengthen my skills. Outside development, I spend most of my remaining free time at the gym.

I also have experience with AI-based development tools such as OpenAI Codex and Claude Code, which I use to support programming, problem-solving and development. This has given me a practical understanding of how AI can be used as an effective tool in the development process.

I am committed, responsible and easy to collaborate with. I also have a good sense of humor and enjoy contributing to a positive atmosphere in the team. Although my focus so far has been Java, I am open to learning other programming languages and technologies.

For me, an internship is an important step in completing my education and at the same time an opportunity to grow as a developer, expand my network and contribute my drive and interest in programming.

I look forward to hearing from you and having the opportunity to learn more about your organization and develop together with your team.

Kind regards,
Yunus Uludag

Contact