Overview
Developed as a second-semester university project, this full-stack web application aims to simplify the process of studying and relocating to Austria. The platform provides structured guidance on university applications, student visa procedures, and relocation requirements.
The Problem
Moving to Austria as an international student means navigating a maze of bureaucracy, scattered across multiple government websites, in German, with requirements that change depending on your country of origin. There's no single place that guides you through the full process: from university application to visa to finding housing.
This platform was built for people going through exactly that process: a central place to submit and track immigration-related requests, without having to start from zero every time.
What I Built
A full-stack web application with user authentication and a complete request management system. Users can register, log in, and manage their own immigration requests through the platform.
- User registration and login with session-based authentication
- Create, view, update, and delete immigration requests (full CRUD)
- Dynamic status tracking: requests reflect their current state in real time
- Error handling with clear feedback messages for the user
- Separate frontend and backend, communicating through a REST API
Technical Details
The project is split into a frontend and backend folder.
The backend is a Node.js + Express.js server that handles all API routes, authentication logic,
and request processing. The frontend is built with vanilla JavaScript, HTML, and CSS (no frameworks).
- REST API with endpoints for auth, request creation, updates, and deletion
- Session-based authentication: user state is preserved across page loads
- Structured JSON responses from the backend, parsed and rendered dynamically in the frontend
- Form validation and error feedback on both frontend and backend
- Clean separation of concerns: API logic lives in the backend, UI logic in the frontend
What I Learned
This was my first full-stack project, and the biggest thing I learned was understanding how data actually flows through an application. Seeing a form submission travel from the browser, hit an Express route, get processed, and come back as a JSON response made everything click.
- How to design and connect a REST API between a frontend and backend
- Session-based authentication from scratch, without relying on any auth library
- Debugging across two different layers (frontend JS and backend Node.js) simultaneously
- Structuring a project with separate concerns from the start
- Git workflow for a multi-file, evolving project