A website supporting Ukrainian students in Poland by coordinating collections and delivering needed items.
The “Students for Ukraine” project was created by a group of six students from the 8th High School in Poznań, founded and led by Tomasz Pawlaczyk, in response to the needs of Ukrainian students arriving in Poland after the Russian invasion.
The website aims to:
- Enable Ukrainian students to report missing school supplies and everyday necessities
- Display current needs organized by schools and product categories
- Facilitate purchases and donations by Polish citizens
- Coordinate collections and collaboration between schools
Thanks to the website, we can ensure that all reported items are genuinely needed, which increases the efficiency of assistance.
- Student and School Registration – allows creating accounts and reporting needs
- Dynamic List of Missing Items – updated in real-time
- Categorization by Schools and Product Types – easy navigation for donors
- Multilingual Support – the website is available in Ukrainian
- Collaboration with 10 schools in Poznań and surrounding areas
- Successful organization of numerous collections of essential items
- Delivery of some aid to Ukraine (Kharkiv) in cooperation with the Youth City Council of Kharkiv
- Recognition: Received an official letter of appreciation from the city of Kharkiv for the assistance provided
- Awards: Ranked and recognized as one of the best student technology projects in Poland in 2022/23 🏆
The “Students for Ukraine” website uses a full-stack approach with:
| Frontend | Backend | Database | Tools |
|---|---|---|---|
| HTML5, CSS, JavaScript, TailwindCSS | PHP | SQL for queries | Git/GitHub, Postman, MySQL |
-
PHP Session Handling and Dynamic JS Injection
Allows displaying different menu elements depending on whether the user is logged in or not:
<?php if (isset($_SESSION["useruid"])) { echo "const linknav1 = document.querySelector('#linknav1');"; } else { echo "const linknav2 = document.querySelector('#linknav2');"; } ?>
-
Handling Error Messages in PHP + JavaScript
Dynamically displays the appropriate messages in the registration/login form based on the error type:
<?php if (isset($_GET["error"]) && array_key_exists($_GET["error"], $errorMessages)) { $error = $_GET["error"]; echo "<script> const errorElement = document.querySelector('#$error'); if(errorElement) { errorElement.textContent = '{$errorMessages[$error]}'; } </script>"; } ?>
-
Dynamic Language Switching in JavaScript
Demonstrates the ability to work with
localStorageand manipulate the DOM:function polish(){ localStorage.setItem("language", 1); location.reload(); } function ukrainian(){ localStorage.setItem("language", 2); location.reload(); } let language = JSON.parse(localStorage.getItem("language") || '[]'); if (language == 1) { title.textContent = "Uczniowie dla Ukrainy"; } else if (language == 2) { title.textContent = "Студенти за Україну"; }
See our website in action🔥