< class="min-h-screen bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 text-gray-700 dark:from-slate-900 dark:via-slate-800 dark:to-indigo-950 dark:text-gray-100 transition-colors duration-300">
Project Hero Image

Marci's knife shop

A fully functional web shop complete with admin and a user page

Project Overview

This was my first Laravel PHP project utilizing SQLite with migrations and seeders, supported in 2 languages English and Bulgarian. The goal of it was to have a fully functional webshop that can help a person make extra money from his hobby of knife making. The webshop is fully functional and has a user page and an admin page. The admin can add, edit, remove and mark as sold each products, also they can receive a notification when a user submit a ruquest for a custom knife and when an order is placed. Also the admin can manage a blog page where they can post tips and tricks for knife making and other useful information. The user can register, login, view the products, add them to the cart and place an order. The user can also submit a request for a custom knife and view the blog page, they also receive a notification when they order is being proccessed. The website is equipted with an online payment system and an API which calulated shipping costs. The website is secure as it encrypts the passwords and payment details of the users.

In this project I learned how to comminicate with a client and make the project as close to their needs as possible. This was also the beginning of my journey into the world of PHP.

Key Features

Feature One

SQLite database

Feature Two

Secure and user friendly interface

Feature Three

Laravel PHP

Feature Four

TailwindCSS, AlpineJS, Livewire with Blade

Project Gallery

Image Caption
Project Screenshot 1
Image Caption
Project Screenshot 2
Image Caption
Project Screenshot 3
Image Caption
Project Screenshot 4

Development Process

Planning & Research

I had a meeting with my client where we discussed the project and what they want to have. After that I started doing research on how to implement the features as I was new to PHP and Laravel.

Design & Prototyping

I created a simple page with the main features of the website and a simple design. Using a Blade view to showcase some of the functionalities that I was going for and the design overview with the colour pallet that I was planning to use for light and dark theme.

Development

I created the database with the migrations and seeders and 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 TailwindCSS for the design and AlpineJS for the interactivity of the website. I also used Livewire to make the website more dynamic and responsive. After I was done I sat one on one with my client to see if liked it or not.

Testing & Deployment

After running some test and fixing the bugs and vulnerabilities I found I gave the website to the client to test it.

Project Details

Duration

September 2024 - December 2024

My Role

Full stack developer

Team Size

1 member

Client/Industry

Education

Technologies Used

PHP SQLite AlpineJS TailwindCSS Livewire

Challenges & Solutions

Challenge 1

Figuring out how PhP works

Solution:

I spend a lot of time experimenting with different ways to solve problems using PHP and converting JavaScript code to PhP functionality