Portfolio

Got a project, a question, or just want to chat? I'm always open to connect. Let's spark ideas and create something meaningful together. Start with a simple hello.

image of the project

Summary

Date: February 20, 2026

Client: Personal project

Team members:

  • Milana Gabbassova (solo project) - Full Stack Developer

Tools used:

  • Frontend Development:

    • Vue.js, Tailwind CSS, JavaScript, Axios, Vite
  • Backend Development:

    • Laravel 8 (PHP), REST API, MySQL
  • Deployment & DevOps:

    • Git, cPanel, Domain & DNS configuration, Environment variables (.env)
  • Development Tools:

    • VS Code, Postman (API testing), phpMyAdmin

Overview

Tournament Management is a full-stack web application that allows users to create, manage, and track tournaments, teams, and match results. The backend is built with Laravel and exposes a RESTful API, while the frontend is developed with Vue.js for a responsive and dynamic user experience.

Goal

The goal of this project was to learn and apply new frameworks, strengthen full-stack development skills, and gain hands-on experience building and deploying a complete application using a modern tech stack.

Process

  1. Designed database structure for tournaments, teams, and matches
  2. Built RESTful API using Laravel
  3. Developed frontend interface using Vue.js and Tailwind CSS
  4. Connected frontend and backend using Axios
  5. Tested CRUD operations and application flow
  6. Deployed frontend and backend to live domains
process wireframes
process sitemap

Role

Full-stack developer - responsible for backend API development, frontend implementation, database design, and deployment.

Key Features

  1. Create and manage tournaments
  2. Add and manage teams and participants
  3. Schedule and update matches
  4. Track results and standings
  5. Responsive interface for easy management

Challenges & Solutions

  1. Connecting Frontend and Backend (CORS & API Communication)

    Challenge: While integrating the Vue.js frontend with the Laravel API, I encountered CORS issues and failed requests, which prevented data from being sent and retrieved correctly between the two environments.

    Solution: I configured Laravel’s CORS settings, verified API routes, and ensured correct headers and environment variables were set. After debugging with Postman and browser dev tools, I successfully established stable communication between frontend and backend.

  2. Designing a Relational Database Structure

    Challenge: Structuring the database for tournaments, teams, matches, and results required careful planning to avoid redundant data and ensure scalable relationships between entities.

    Solution: I designed a normalized database schema with clear relationships and foreign keys. This allowed efficient data retrieval, simplified CRUD operations, and ensured the system remained flexible for future expansion.

  3. Deployment and Domain Configuration

    Challenge: Deploying the project with separate frontend and backend environments and connecting them through live domains introduced issues with routing, environment variables, and API endpoints.

    Solution: I deployed both parts to their respective domains, configured environment variables correctly, and updated API base URLs. After testing and debugging, the application ran successfully in a live production environment.

Results

  • Successfully built and deployed a functional full-stack tournament management system
  • Gained practical experience with Laravel and Vue.js integration
  • Improved understanding of API architecture, deployment, and debugging

Explore Other Projects

Info box section background