A Nike-inspired e-commerce platform built with Node.js backend and vanilla JavaScript frontend, featuring a complete shoe retail system with authentication, product browsing, and order management.
- ✅ Backend: Complete OOP MVC with Supabase integration
- ✅ Authentication: Supabase Auth + Google OAuth (environment-dependent)
- ✅ API: Full RESTful API with validation and error handling
- ✅ Build System: Environment variable injection and validation
- 🚧 Frontend: Nike-style UI with animations (in development)
- 🚧 Product Browsing: Advanced filtering and search (in development)
- Frontend: Vanilla HTML5, CSS3, JavaScript ES6+ with Bootstrap 5.3
- Backend: Node.js (native HTTP module, no Express.js)
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth + Google OAuth
- Architecture: OOP MVC with inheritance and composition
- Node.js 18+
- Git
- Supabase account
# Clone repository
git clone https://github.com/yourusername/snevo-ecommerce.git
cd snevo-ecommerce
# Install dependencies
npm install
# Set up environment
cp env.example .env
# Edit .env with your Supabase credentials
# Generate development config
npm run dev:config
# Start development
npm run dev- Create Supabase project at supabase.com
- Get credentials from Settings → API
- Run
schema.sqlin Supabase SQL editor - Configure authentication providers
snevo-ecommerce/
├── backend/ # ✅ COMPLETE - OOP MVC Backend
│ ├── controllers/ # AuthController, ProductController, OrderController
│ ├── models/ # User, Product, Order, Category (extend BaseModel)
│ ├── routes/ # API routes with controller instances
│ ├── middleware/ # Auth, CORS, validation middleware
│ └── utils/ # BaseModel, BaseController, ErrorClasses
├── frontend/ # 🚧 IN DEVELOPMENT - Nike-style Frontend
│ ├── assets/js/ # OOP classes: Application, AuthManager, ProductManager
│ ├── pages/ # HTML pages with Nike animations
│ └── components/ # Reusable UI components
├── config/ # Supabase and app configuration
├── scripts/ # Build system with environment injection
└── docs/ # Documentation
# Development
npm run dev # Start with auto-reload
npm run dev:config # Generate frontend config from .env
# Building
npm run build # Full production build
npm run build:frontend # Frontend build only
npm run serve # Build and serve production
# Testing
npm test # Run all tests
npm run test:backend # Backend tests only
npm run test:frontend # Frontend tests only- OOP Classes: Application, AuthManager, ProductManager, ApiClient
- Bootstrap 5.3: Responsive grid system
- Nike Animations: Smooth transitions and hover effects
- Component System: Reusable HTML components
frontend/assets/js/Application.js- Main orchestratorfrontend/assets/js/AuthManager.js- Authentication handlingfrontend/assets/js/ProductManager.js- Product operationsfrontend/pages/- HTML pages with Nike-style design
- Models: Extend BaseModel with validation and relationships
- Controllers: Extend BaseController with request handling
- Routes: RESTful API with middleware
- Middleware: Auth, CORS, validation
Authentication:
POST /api/auth/login
POST /api/auth/register
GET /api/auth/profile
Products:
GET /api/products
GET /api/products/:id
GET /api/products/search
Orders:
POST /api/orders
GET /api/orders
npm run build
npm run serve- Frontend: Deploy
build/frontend/to static hosting (Netlify, Vercel) - Backend: Deploy
build/directory to Node.js hosting (Railway, Heroku) - Database: Supabase (already configured)
docs/BUILD.md- Build system detailsdocs/AUTH_SETUP.md- Authentication setupSTRUCTURE.md- Complete project structureEXTENSION_FUNCTIONALITY.md- Detailed functionality
# Start your day
git pull origin main
npm run dev
# Work on features
git checkout -b feature/your-feature-name
# Make changes
git add .
git commit -m "feat: your feature description"
git push origin feature/your-feature-name
# Create Pull Request on GitHub- Create feature branch
- Implement with tests
- Create Pull Request
- Team review
- Merge when approved
# "Module not found"
npm install
# "Supabase not initialized"
npm run dev:config
# "Port in use"
# Kill process or change PORT in .env- Check console logs
- Verify
.envconfiguration - Ask team members
- Create GitHub issues
This project is licensed under the MIT License.
Ready to build something amazing! 🚀
Built with ❤️ for modern e-commerce experiences