Pandac Store - Plant E-Commerce Platform

Educational full-stack e-commerce application demonstrating React 19, Spring Boot 3.5, MySQL, Nginx reverse proxy, JWT authentication, and payment integration.

Pandac Store - Plant E-Commerce Platform

🧭 Overview

A full-stack e-commerce platform demonstrating modern web development: React frontend, Spring Boot backend API, database migrations, Stripe payment processing, JWT authentication, and Nginx reverse proxy.

Pandac Store is an educational project built with React 19, Spring Boot 3.5, MySQL, and Docker. The application includes product browsing, shopping cart, checkout flow, user authentication, and admin dashboard.

Topics covered:

  • πŸ›οΈ Frontend β†’ React 19 with Vite, Tailwind CSS, Redux Toolkit
  • πŸ” Authentication β†’ JWT tokens with role-based access control
  • πŸ’³ Payment Integration β†’ Stripe Elements and API
  • 🎯 Architecture β†’ Nginx reverse proxy, centralized API configuration
  • πŸš€ Deployment β†’ Docker Compose with multiple services

πŸ”‘ Key Features

  • Modern React Frontend β†’ React 19 with Vite, Tailwind CSS, and Redux Toolkit
  • Robust Spring Boot Backend β†’ Java 21, Spring Security, JPA/Hibernate
  • Stripe Payment Processing β†’ Secure checkout with Stripe Elements
  • JWT Authentication β†’ Token-based auth with role-based permissions
  • Nginx Reverse Proxy β†’ Single entry point, CORS handling, static serving
  • Database Migrations β†’ Flyway for version-controlled schema changes
  • Admin Dashboard β†’ Product, order, user, and discount management
  • Responsive Design β†’ Mobile-first approach with Tailwind CSS

βš™οΈ How It Works

  1. Configure β†’ Update .env with your Stripe API keys
  2. Start β†’ docker-compose up -d
  3. Access β†’ http://localhost

πŸ“š Topics Covered

  • πŸ› οΈ Full-Stack Architecture β†’ Frontend-backend communication, reverse proxy setup
  • πŸš€ Spring Boot β†’ REST APIs, JPA/Hibernate, Spring Security, Flyway migrations
  • 🌐 React β†’ Hooks, Redux Toolkit, React Router, API integration
  • πŸ“Š Features β†’ Shopping cart, checkout flow, admin dashboard, order management
  • πŸ’‘ Docker β†’ Multi-service setup with Nginx, MySQL, and application containers

πŸ› οΈ What’s Inside

Customer Features

  • Product Catalog β†’ Browse, search, filter plants and gardening products
  • Shopping Cart β†’ Smart cart with discount code support
  • Secure Checkout β†’ Stripe integration for safe payments
  • User Profiles β†’ Authentication, order history, profile management
  • Order Tracking β†’ Real-time order status and history

Admin Features

  • Product Management β†’ Full CRUD operations for inventory
  • Order Administration β†’ Process and track customer orders
  • User Management β†’ Manage customers and permissions
  • Discount Codes β†’ Create and manage promotional codes
  • Sales Analytics β†’ Business insights and reporting

Technical Features

  • Nginx Reverse Proxy β†’ Single entry point, CORS-free architecture
  • Centralized API Config β†’ /src/config/api.js as single source of truth
  • Responsive Design β†’ Mobile-first with Tailwind CSS
  • JWT Authentication β†’ Secure session management
  • Database Migrations β†’ Flyway version control
  • File Upload β†’ CDN integration for optimized images
  • Health Monitoring β†’ Container health checks
  • Comprehensive Error Handling β†’ User-friendly error management

🎬 Quick Start

git clone https://github.com/pandaind/pandac-store.git
cd pandac-store
cp .env.example .env  # Add your Stripe keys
docker-compose up -d

Access at http://localhost


πŸ“– Documentation

See the GitHub repository for detailed guides on Docker setup, Nginx configuration, and API setup


πŸ”§ Potential Extensions

Areas for experimentation:

  1. Add new product categories or UI components
  2. Implement additional API endpoints
  3. Add OAuth providers or modify authentication
  4. Create new database entities with Flyway migrations
  5. Write unit tests for React components or Spring services
  6. Set up CI/CD pipelines

🀝 Contributing

This is a learning project. You can:

  • Study how React components interact with Spring Boot APIs
  • Fork and experiment with new features
  • Add documentation or educational comments
  • Submit improvements via pull requests

Hello, How are you today?


Please share your details below

Start a Conversation

Expect delay in response

Hello, How are you today? !


Expect delay in response

powered by PandaC