Skip to content

Nerow75/pf-cinnk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PF_Cinnk - Plateforme E-commerce

Projet de fin d'année - Développement Web

Auteur : Antoine SILLARD Date : 2024-2025

Description

Site e-commerce simple permettant de consulter un catalogue de produits, gérer un panier et passer des commandes. Interface d'administration pour gérer les produits et consulter les commandes.

Technologies

  • Backend : Laravel 10 (PHP 8.1)
  • Frontend : HTML, CSS, JavaScript vanilla
  • Base de données : MySQL
  • Serveur : Apache/Nginx ou serveur PHP intégré

Architecture

pf_cinnk/
├── laravel-app/           Backend Laravel
│   ├── app/
│   ├── routes/
│   ├── database/
│   └── .env
├── front-app/             Frontend
│   ├── index.html
│   ├── checkout.html
│   ├── css/
│   └── js/
└── docs/                  Documentation

Installation

Prérequis

  • PHP 8.1 ou supérieur
  • Composer
  • MySQL
  • Un serveur web (Apache/Nginx) ou Python pour le frontend

Étape 1 : Cloner le projet

git clone https://github.com/Nerow75/PF_Cinnk.git
cd pf_cinnk

Étape 2 : Backend Laravel

cd laravel-app

# Installer les dépendances
composer install

# Configuration
cp .env.example .env
php artisan key:generate

# Configurer .env avec vos paramètres de base de données
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pf_cinnk
DB_USERNAME=root
DB_PASSWORD=votre_password

Étape 3 : Base de données

# Créer la base de données
mysql -u root -p
CREATE DATABASE pf_cinnk;
exit;

# Lancer les migrations et seeders
php artisan migrate --seed

Étape 4 : Démarrer les serveurs

Backend :

cd laravel-app
php artisan serve

Backend disponible sur : http://localhost:8000

Frontend (nouveau terminal) :

cd front-app
python -m http.server 3000

Frontend disponible sur : http://localhost:3000

Utilisation

Frontend Client

URL : http://localhost:3000

Fonctionnalités :

  • Consulter le catalogue de produits
  • Ajouter des produits au panier
  • Passer une commande (génération d'un numéro fictif)

Backend Administration

URL : http://localhost:8000/admin/login

Identifiants par défaut :

  • Username : admin
  • Password : password

Fonctionnalités :

  • Consulter les statistiques
  • Gérer les produits (création, modification, suppression)
  • Consulter les commandes
  • Modifier le statut des commandes

Structure de la base de données

Tables principales :

  • products : Catalogue de produits
  • orders : Commandes
  • order_items : Articles commandés
  • users : Utilisateurs admin

API

Documentation complète disponible dans openapi.yaml

Endpoints principaux :

  • GET /api/products : Liste des produits
  • GET /api/products/{id} : Détails d'un produit
  • POST /api/orders : Créer une commande
  • GET /api/orders/{orderNumber} : Détails d'une commande

Fonctionnalités

Frontend

  • Catalogue de produits avec filtres et recherche
  • Panier stocké en cookies
  • Formulaire de commande
  • Page de confirmation

Backend

  • Dashboard avec statistiques
  • CRUD complet sur les produits
  • Consultation et gestion des commandes
  • Filtres et recherche

Limitations

Ce projet est une démonstration éducative :

  • Pas de vrai système de paiement
  • Pas de suivi de livraison
  • Un seul compte administrateur
  • Stock géré manuellement
  • Pas d'envoi d'emails automatiques

Tests

Lancer les tests unitaires :

cd laravel-app
php artisan test

Dépannage

Erreur 500

php artisan cache:clear
php artisan config:clear

Problèmes de base de données

php artisan migrate:fresh --seed

Les produits n'apparaissent pas

Vérifier que le produit est actif et que le stock n'est pas à 0

Contact

Auteur : Antoine SILLARD

Licence

Projet éducatif - Tous droits réservés

About

Projet de fin d'année — Plateforme e-commerce fictive avec catalogue, panier et dashboard admin. Laravel 10 + JS vanilla.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors