Skip to content

dstyevsky/Expelliarmus-Market

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 

EXPELLIARMUS MARKET

 

E-Commerce application for diploma project.

GitHub last commit (branch) GitHub contributors GitHub top language

 

Built with the tools and technologies:

PHP Laravel Vue.js TailwindCSS Docker Redis PostgreSQL

 

Table of Contents

 

Overview

Expelliarmus-Market is an e-commerce web application that allows businesses to create, manage, and scale online stores with ease.

Key Features

  • 🐳 Docker Compose Configuration: Simplifies service orchestration.
  • 🔧 Makefile Management: Streamlines builds and processes.
  • 🎨 Tailwind CSS Integration: Enhances UI consistency.
  • 🔌 API Integration: Ensures seamless frontend-backend communication.
  • 🔐 Robust User Management: Improves security and authentication.
  • 📦 Dynamic Product Management: Efficient handling of inventory and discounts.

 

Getting Started

Prerequisites

This project requires the latest installed Docker tool. After cloning the application, you need to set environment files.

First, in the root directory of the project, you will find the .env.docker.example file.

Then, in backend directory, you will find the .env.example file.

And finally, in frontend directory of the project, you will find .env.example file.

By default, URL of api is - api.expelliarmus.com:8080 and frontend expelliarmus.com:3000 (dev mode) and expelliarmus.com:8000 (build mode).

You will need to set local domain name in your system hosts file:

172.0.0.1 expelliarmus.com

172.0.0.1 api.expelliarmus.com

Installation

Run following command:

make first-start-app

This command will run commands required for correct installation.

Next, you should determine in which mode to run frontend:

Developer mode:

make front-dev

Build mode:

make front-build

Additionally, you can create a test super manager to get access to the manager panel:

make super-manager

Manager login page available on /management/manager/auth URL.

For more commands see:

make help

Testing

Backend application tests can be run using this command:

make backend-tests

 

Modules

Expelliarmus-Market is built with a modular architecture, allowing businesses to manage various aspects of their e-commerce platform efficiently. Below is an overview of the core modules and the tasks they handle:

  • 🛒 Order

  • 👤 User
    Provides robust user management for both customers and administrators.

    • Register and authenticate users with secure login.
    • Manage user roles and permissions (e.g., admin, customer).
    • Store and update user profiles and preferences.
    • Ability to conveniently interact with products by adding them to the cart and wishlist.
  • 📦 Product
    Handles product catalog management for the store.

    • Add, edit, and delete products with detailed attributes.
    • Manage product variants (e.g., sizes, colors).
    • Set discounts.
  • 🏬 Warehouse
    Manages inventory and stock.

    • Track stock availability in real-time.
    • Ability to view all products information.
    • Manage restocking and inventory updates.
  • 🏷️ Category
    Organizes products into categories for better navigation.

    • Create and manage product categories and subcategories.
    • Assign products to multiple categories.
    • Display category-based filters on the storefront.
  • 🔖 Brand
    Manages brand information for products.

    • Add and edit brand details.
    • Associate products with specific brands.
    • Filter products by brand on the storefront.
  • 📝 Content Management
    Enables dynamic content updates for the store.

    • Manage different content section such as Slider or New Arrivals section.
  • 📊 Statistics
    Provides various statistics to improve user experience.

API documentation available here.

 

Screenshots

Web Application screenshots

Database Diagram

Modules Diagrams

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 54.6%
  • Vue 36.1%
  • CSS 4.7%
  • JavaScript 4.2%
  • Dockerfile 0.2%
  • Makefile 0.1%
  • HTML 0.1%