Every web developer needs a "home" on the inte et to showcase their work and skills. For me, that home is this portfolio website. This project is not just a static page, but a dynamic web application that I built from the ground up to be a platform that can grow along with my career jou ey.
Project Goals
The main goal of this project was to create an online portfolio that is not only visually appealing but also easy for me to manage. I wanted to be able to add new projects, write articles, and update my skillset at any time without having to touch the source code directly. This required a functional backend system and an admin panel.
Technologies Used
To achieve these goals, I used several core technologies:
- HTML & CSS: As the foundation and basic structure for every page.
- Tailwind CSS: For fast and responsive styling. This utility-first framework was incredibly helpful in creating a consistent design without writing a lot of custom CSS.
PHP:
- As the server-side brain of the application. PHP is responsible for connecting to the database, processing forms, and displaying content dynamically.
- MySQL: As the database system to store all content data, such as project details, article content, skill lists, and contact messages.
- JavaScript: To provide interactivity on the user's side, such as animations, form validation, and dynamically loading project details in a modal (AJAX).
Challenges & Lessons Lea ed
The development process was certainly not without its challenges, which tu ed out to be the most valuable lessons:
- Understanding Data Flow: The biggest challenge was understanding how data flows, starting from a form in the admin panel, being processed by PHP, saved to the database, and then fetched again by PHP to be displayed on the frontend.
- Debugging PHP Errors: I lea ed a great deal from error messages. A "404 Not Found" error taught me the importance of correct folder structures, while "Fatal Errors" taught me to be more meticulous with PHP syntax and logic.
- Database Security: I lea ed the importance of using Prepared Statements to protect the database from SQL Injection attacks, a standard security practice that is essential for every web developer to master.
Conclusion
Building this portfolio from scratch has been a tremendous lea ing experience. This project has become not only a place to display my work but also tangible proof of my lea ing process, my perseverance in facing problems, and my understanding of how a web application works as a whole, from frontend to backend. There is still plenty of room for improvement and new features, and I am excited to continue developing it.