Simple Ecommerce Platform on Symfony - E-Learning

Overview

symfony_ecommerce

Simple ecommerce platform built with Symfony - For learning/teaching purposes

LAMP + Symfony + Symfony CLI Install on Debian Linux (as root)

apt install apache2 mariadb-server php
mysql_secure_installation 
apt install phpmyadmin
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
echo 'deb [trusted=yes] https://repo.symfony.com/apt/ /' | sudo tee /etc/apt/sources.list.d/symfony-cli.list
apt update
apt install symfony-cli

Creation Commands (second commit)

Creating project (Home)

HomeController

git config --global user.email "vincent-manuceau"
symfony new laboutiquecreole --full
cd laboutiquecreole/
symfony server:start

Account + User Entity + Doctrine migration (creating BDD schema...)

AccountController / UserRepository

symfony console make:controller
symfony console make:user
symfony console doctrine:database:create
symfony console make:migration
symfony console doctrine:migrations:migrate

Register new user + Doctrine migration (updating BDD schema)

RegisterController / RegisterType

symfony console make:controller
symfony console doctrine:migrations:sync-metadata-storage
symfony console make:form
symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Adding user Login/Logout

SecurityController / LoginFormAuthenticator

symfony console make:auth

Adding user account space + login/logout logic + header links

AccountController

symfony console make:controller
symfony console debug:router

User Password Update

AccountPasswordController / ChangePasswordType

symfony console make:controller
symfony console make:form

Quick template polishing with css

base.html.twig

Creating Admin interface with EasyAdmin

DashboardController / UserCrudController

composer require easycorp/easyadmin-bundle
symphony console make:admin:dashboard
symfony console make:admin:crud

Categories Entity + Admin Mapping

CategoryCrudController

symfony console make:entity
symfony console make:migration
symfony console doctrine:migration:migrate
symfony console make:admin:crud

Product Entity + Admin Mapping

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate
symfony console make:admin:crud

Images are uploaded in public/uploads/

Create products view + Single product view

ProductController

symfony console make:controller

Create product filter in products view

Search (class), SearchType

Add to Cart with SessionInterface

Cart (class), CartController

symfony console make:controller

Increase/Decrease/Delete product from cart

User Addresses Management

AddressRepository / AccountAddressController / AddressType

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate
symfony console make:controller
symfony console make:form

Create Carriers and Orders

OrderRepository / OrderDetailsRepository

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate
symfony console make:admin:crud
symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Creating Sales tunnel : OrderController + Form

symfony console make:controller
symfony console make:form

Sales Tunnel : store order + order details + order page + confirmation

Update Orders entity (add isPaid)

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Admin display orders

symfony console make:admin:crud
sudo apt update
sudo apt search php-intl
sudo apt install php-intl

Add Stripe Payment

StripeController

composer require stripe/stripe-php
symfony console make:controller

Add Carrier to Stripe Payment

Add reference to Order Entity

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Payment Success and Payment Error Pages

Add stripeSessionId to Order entity OrderSuccessController, OrderCancelController

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate
symfony console make:controller

Display User orders in his account

AccountOrderController

symfony console make:controller

Mail management with MailJet

composer require mailjet/mailjet-apiv3-php

Adding order processing status

Changing isPaid to state in Order repository

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Adding best sales to home page + single products page

Add isBest to Product entity

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate

Adding carousel

Header entity, HeaderCrudController

symfony console make:entity
symfony console make:migration
symfony console doctrine:migration:migrate
symfony console make:admin:crud

Password reset/forgotten logic

ResetPassword entity, ResetPasswordController, ResetPasswordType

symfony console make:entity
symfony console make:migration
symfony console doctrine:migrations:migrate
symfony console make:controller
symfony console make:form

Custom Error Page (404, ...)

change .env dev->prod

composer require symfony/twig-pack
symfony console cache:clear

Contact Form + some cosmetics ;-)

ContactController + ContactType

symfony console make:controller
symfony console make:form
symfony console cache:clear
You might also like...
Laravel eCommerce headless APIs allow you to experience seamless and easily scalable storefront performance.
Laravel eCommerce headless APIs allow you to experience seamless and easily scalable storefront performance.

Bagisto GraphQL API Laravel eCommerce headless APIs allow you to experience seamless and easily scalable storefront performance. An open-source and Gr

(Live Link) Extensive ecommerce site with vendors, mods & ability to add to cart without being logged in. Upgraded to Laravel 8.x
(Live Link) Extensive ecommerce site with vendors, mods & ability to add to cart without being logged in. Upgraded to Laravel 8.x

(Live Link) Extensive ecommerce site with vendors, mods & ability to add to cart without being logged in. Upgraded to Laravel 8.x

The Laravel eCommerce DHL Shipping module module calculates the shipping rates based on DHL API for product shipping.

Introduction DHL Shipping Add-on provides DHL Shipping methods for shipping the product. It packs in lots of demanding features that allows your busin

The Laravel eCommerce Image Gallery allows the admin to add/manage images into various galleries and galleries into various groups according to requirements.

The Laravel eCommerce Image Gallery allows the admin to add/manage images into various galleries and galleries into various groups according to requirements.

The Laravel eCommerce Mollie Payment Gateway allows the merchants to integrate Mollie payment gateway to their bagisto Store.

The Laravel eCommerce Mollie Payment Gateway allows the merchants to integrate Mollie payment gateway to their bagisto Store.

Laravel eCommerce Pre Order Extension allows the customers and guest users to pre-order the upcoming product and out of stock products.

Introduction Bagisto Pre-order add-on allows the customer to pre-order products which are not yet available at the online store. With the help of Bagi

This is a ecommerce project with some basic features.
This is a ecommerce project with some basic features.

Getting Started First, clone the repository: git clone https://github.com/MdMostaFizurRahaman/ecommerce.git There are two part of this application. Ba

Paypal module for Thelia ecommerce solution
Paypal module for Thelia ecommerce solution

PayPal I) Install notes II) Configure your PayPal account III) Module options payments I) Installation Composer WARNING : A console access is required

This is a ecommerce project with some basic features.
This is a ecommerce project with some basic features.

Getting Started First, clone the repository: git clone https://github.com/MdMostaFizurRahaman/ecommerce.git There are two part of this application. Ba

Owner
Vincent Manuceau
Independent Researcher ORCID: 0000-0003-3425-8459
Vincent Manuceau
Open Source eCommerce Platform on Symfony

Sylius is an Open Source eCommerce platform on top of Symfony. The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and

Sylius eCommerce 7.2k Jan 3, 2023
Shopware 6 is an open source ecommerce platform based on a quite modern technology stack that is powered by Symfony and Vue.js.

Shopware 6 Realize your ideas - fast and without friction. Shopware 6 is an open source ecommerce platform based on a quite modern technology stack th

Shopware 2.1k Dec 31, 2022
Sylius is an Open Source eCommerce platform on top of Symfony.

Sylius is an Open Source eCommerce platform on top of Symfony. The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and

Sylius eCommerce 7.2k Jan 5, 2023
Size chart plugin for Sylius ecommerce platform.

Madcoders Sylius Size Chart Plugin Features upload size chart files (for example for shoes, t-shirts and similar products) match size charts by rules

MADCODERS 4 Oct 29, 2021
Payu payment gateway for bagisto laravel ecommerce open source platform

Bagisto Payu Payment Gateway Payu is a popular payment gateway in india. This package provides a additional strong help for the user to use the payu p

Saju G 3 Dec 14, 2021
Build a simple ecommerce website with Laravel.

Simple Ecommerce Build a simple ecommerce website with Laravel. Explore the docs » View Demo · Report Bug · Request Feature Table of Contents Getting

Rif 0 Jul 1, 2022
PrestaShop module that allows an ecommerce/brand to display its physical retailers in a map

PrestaShop module that allows an ecommerce/brand to display its physical retailers in a map Features Free of charge: instead of using pa

Darío Scattolini 3 Apr 15, 2022
Antvel is an ecommerce project written in Laravel 5.* intended for building a friendly eStore either for startups or big companies.

Antvel is an ecommerce project written in Laravel 5.* intended for building a friendly eStore either for startups or big companies.

Antvel - Official 650 Dec 28, 2022
A Free and Opensource Laravel eCommerce framework built for all to build and scale your business.

Bagisto is a hand tailored E-Commerce framework built on some of the hottest opensource technologies such as Laravel (a PHP framework) and Vue.js a progressive Javascript framework.

Bagisto 5k Jan 5, 2023
Ecommerce website for Sales of Product according to their categories and Tags with pictures

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Muhammad Fahad 1 Nov 8, 2021