8000 GitHub - kevykibbz/furnicraft: A full-featured furniture e-commerce website built with Node.js, Express, MongoDB, and Bootstrap. Features include: πŸ›’ Product Catalog with categories, filters, and search πŸ” User Authentication (login/register with JWT) πŸ’³ Payment Integration (PayPal & Stripe) 🚚 Shipping & Order Management πŸ“¦ Inventory Tracking
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A full-featured furniture e-commerce website built with Node.js, Express, MongoDB, and Bootstrap. Features include: πŸ›’ Product Catalog with categories, filters, and search πŸ” User Authentication (login/register with JWT) πŸ’³ Payment Integration (PayPal & Stripe) 🚚 Shipping & Order Management πŸ“¦ Inventory Tracking

Notifications You must be signed in to change notification settings

kevykibbz/furnicraft

Repository files navigation

πŸ›‹οΈ FurniCraft - Modern Furniture E-Commerce Platform

FurniCraft Screenshot

A full-featured furniture store built with Node.js, Express, MongoDB, and Bootstrap. Includes product catalog, cart functionality, and PayPal integration.

πŸš€ Quick Start

Prerequisites

  • Node.js v18+
  • MongoDB Atlas account or local MongoDB instance
  • PayPal Developer account (for sandbox testing)

Installation

# Clone repository
git clone https://github.com/yourusername/furnicraft.git
cd furnicraft

# Install dependencies
npm install

# Set environment variables (create .env file)
cp .env.example .env

Environment Variables

MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/furnicraft
PORT=3000
SESSION_SECRET=your_session_secret_here
PAYPAL_CLIENT_ID=your_paypal_client_id
NODE_ENV=development

Test Credentials

Role Email Password
Admin admin@example.com Pass1234
Customer user@example.com Pass1234

πŸ› οΈ Development

Run in development mode

npm run dev

# Build for production
npm run build

# Start production server
npm start

🌐 Deployment

Docker

docker build -t furnicraft .
docker run -p 3000:3000 -d furnicraft

Fly.io

flyctl launch
flyctl deploy

Key Features

  • User Authentication (Login/Register)
  • Product Management (CRUD Operations)
  • Shopping Cart (LocalStorage + DB sync)
  • PayPal Integration (Sandbox Mode)
  • Responsive Design (Mobile-first)

πŸ“Š Database Schema

Database Schema

πŸ›’ API Endpoints

Method Endpoint Description
POST /api/user/register Register a new user
POST /api/user/login Login user
GET /api/user/check-auth Check if user is authenticated
GET /api/user/logout Logout user
POST /api/orders Create new order
GET /api/users/orders Get user order history
GET /api/products List all products
GET /api/categories List all categories
GET /api/search Search functionality
POST /api/wishlist Add item to wishlist
GET /api/wishlist Get wishlist items
POST /api/cart Add item to cart
GET /api/cart Get cart items

πŸ“ License

MIT License - See LICENSE for details.

πŸ™ Acknowledgments

  • Bootstrap 5 for UI components
  • PayPal Node.js SDK for payment processing
  • MongoDB Atlas for cloud database hosting

About

A full-featured furniture e-commerce website built with Node.js, Express, MongoDB, and Bootstrap. Features include: πŸ›’ Product Catalog with categories, filters, and search πŸ” User Authentication (login/register with JWT) πŸ’³ Payment Integration (PayPal & Stripe) 🚚 Shipping & Order Management πŸ“¦ Inventory Tracking

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0