A fully functional web shop with admin and user pages.
This was my first Laravel PHP project using SQLite with migrations and seeders, available in two languages: English and Bulgarian. The goal was to build a fully functional web shop that helps someone earn extra income from a knife-making hobby. The web shop includes both a user page and an admin page. The admin can add, edit, remove, and mark products as sold, and they can receive a notification when a user submits a request for a custom knife or when an order is placed. The admin can also manage a blog page where they can post tips and tricks for knife making and other useful information. Users can register, log in, view products, add them to the cart, and place orders. Users can also submit requests for custom knives and view the blog page. They receive notifications when their orders are being processed. The website includes an online payment system and an API that calculates shipping costs. It is secure because it encrypts user passwords and payment details.
In this project, I learned how to communicate with a client and shape the project to fit their needs as closely as possible. This was also the beginning of my journey into the world of PHP.
SQLite database
Secure and user-friendly interface
Laravel PHP
Tailwind CSS, Alpine JS, Livewire, and Blade
I had a meeting with my client where we discussed the project and what they wanted. After that, I started doing research on how to implement the features because I was new to PHP and Laravel.
I created a simple page with the website's main features and a basic design, using a Blade view to showcase the functionality I was aiming for. I also created a design overview with the color palette I planned to use for light and dark themes.
I created the database with migrations and seeders, then started working on the backend of the website. I created the models and controllers for each of the features and started working on the frontend. I used Tailwind CSS for the design and Alpine JS for the website's interactivity. I also used Livewire to make the website more dynamic and responsive. After finishing, I met one-on-one with my client to gather feedback.
After running tests and fixing the bugs and vulnerabilities I found, I gave the website to the client for testing.
September 2024 - December 2024
Full-stack Developer
1 member
Education
Understanding how PHP works
I spent a lot of time experimenting with different ways to solve problems using PHP and converting JavaScript code into PHP functionality.