Building My First Full Stack App: The EduLink Journey

Hibaq AdanHibaq Adan
3 min read

โœ๏ธ Introduction

As a budding software developer, I always dreamt of building something end-to-end where the frontend meets the backend, and users interact with something real. That dream became a reality when I built EduLink, my first full stack web application.

In this post, Iโ€™ll walk you through how I built EduLink ,from ideation to deployment and what I learned along the way.


EduLink is a modern, responsive education platform designed to help students:

  • Explore available academic programs

  • Enroll through an application form

  • Track their enrollment status

It focuses on usability, clarity, and a seamless user journey for both new applicants and returning students.


๐Ÿ› ๏ธ The Tech Stack

To bring EduLink to life, I used a React + Flask stack with modern tooling:

  • Frontend: React with Vite (super fast dev experience)

  • Backend: Flask (Python), handling user authentication, form submissions & APIs

  • Database: SQLite with SQLAlchemy ORM

  • Other Tools: React Router, JWT for login auth, and useEffect/useState hooks for logic


๐Ÿ”„ Key Features

Hereโ€™s what users can do on EduLink:

  • Browse academic programs with detailed cards

  • Click โ€œEnrollโ€ โ†’ redirected to login (or register if new)

  • Submit an application form

  • View application status securely after logging in

Everything was data-driven, meaning forms interacted with the backend and reflected real-time feedback.


๐Ÿ˜ฎ What I Learned

This project taught me a lot and not just about code.

โœ… Real-World Concepts:

  • Routing logic: Using React Router and Flask routes to link pages logically

  • Authentication: Managing JWT tokens and protected routes (which am still learning on how to implement)

  • CRUD operations: Creating, reading, and deleting application data

โŒ Mistakes That Became Lessons:

  • Redirect logic was tricky at first โ€” I had to refactor flow between login โ†’ form โ†’ dashboard

  • Handling errors (like โ€œUser not foundโ€ or 409s) helped me write more helpful UI messages

  • Styling forms across devices took time, but made me love responsive design


๐Ÿš€ Proud Moments

  • The Enroll button flow โ€” from clicking to form submission: felt like a โ€œreal appโ€ moment

  • The backend worked with real user data: no hardcoding ๐Ÿ‘

  • I implemented conditional rendering and feedback messages across pages


๐Ÿ›  What Iโ€™d Improve

  • Add loading states during API calls

  • Use a toast library (like React Hot Toast) for better feedback

  • Add admin features to approve/reject applications

  • Polish the dashboard UI with charts or stats


๐Ÿ’ก Takeaways

Building EduLink was more than just a project it gave me confidence.

โ€œYou donโ€™t need to master everything to build something real. Just start and keep iterating.โ€

EduLink made me fall in love with frontend-backend integration, and now Iโ€™m excited to build smarter, cleaner, and more scalable apps in the future.



๐Ÿ’ฌ Final Words

Thanks for reading! If you're working on your first full stack project trust the process. Every bug, every refactor, and every โ€œaha!โ€ moment is part of the journey.

Have questions or feedback? Leave a comment

0
Subscribe to my newsletter

Read articles from Hibaq Adan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hibaq Adan
Hibaq Adan