Skip to content

MihisaraNet/LayerForge3D

Repository files navigation

LayerForge 3D — Full Stack Monorepo

LayerForge 3D Banner

Welcome to LayerForge 3D, a premium, end-to-end e-commerce and 3D printing service platform. This project leverages the MERN stack (MongoDB, Express, React Native, Node.js) to deliver a high-performance, visually stunning experience for both customers and administrators.

🔗 Live Deployment Links


✨ Key Features

🛒 Seamless E-Commerce

  • Product Discovery: Browse a curated catalogue of 3D-printed products with high-quality imagery and detailed specifications.
  • Cart Management: Add, remove, and manage items in a persistent shopping cart.
  • Secure Checkout: Streamlined order placement process for a frictionless user experience.

🖨️ Custom 3D Printing Wizard

  • STL Upload Support: Users can upload .stl files directly for custom print requests.
  • Material Selection: Choose from various materials including PLA, ABS, and Resin.
  • Print Configuration: Customize infill, layer height, and post-processing options to get an accurate quote.

🛡️ Security & Validation

  • Instant Authentication: Secure, streamlined user registration and login flow without email bottlenecks.
  • JWT-Based Security: Robust session management using JSON Web Tokens.
  • Role-Based Access Control (RBAC): Distinct permissions and interfaces for Customers and Administrators.
  • Data Validation: Comprehensive frontend and backend validation, including strict pattern matching for Sri Lankan phone numbers.

💼 Powerful Admin Dashboard

  • Cost Calculator: Advanced tool for admins to calculate production costs (material, energy, machine time, labor) and generate optimized selling prices.
  • Order Tracking: Real-time management of shop and custom orders, status updates, and tracking number assignment.
  • Analytics & Revenue: View active print jobs, best-selling items, and recent monthly revenue directly from the dashboard.
  • Content Management (CMS): Full CRUD capabilities for products, including image uploads and description editing.

🌓 Dynamic Theming & UI

  • Dark/Light Mode: Fully responsive, system-aware dynamic theme engine across 16 screens, persisting user preference.
  • Premium Aesthetics: High-end glassmorphism, gradient overlays, and curated Slate/Indigo color tokens for both dark and light modes.
  • Fluid Navigation: Seamless stack and tab routing using React Navigation.

🛠️ Tech Stack

Layer Technology
Mobile App React Native + Expo SDK 54
Backend Node.js + Express 4
Database MongoDB + Mongoose 8
File Storage Multer (Local Storage)
Authentication JWT (jsonwebtoken) + BcryptJS
State Management React Context API (Auth, Cart, Theme)
Networking Axios
UI Components Custom Premium Components

📂 Repository Structure

LayerForge-3D_WMT/
├── backend-node/       ← REST API (Node.js/Express)
│   ├── src/models/     (Mongoose schemas with business logic)
│   ├── src/routes/     (API route definitions)
│   ├── src/controllers/(Business logic & DB interaction)
│   ├── src/middleware/ (Auth, Validation, Image Uploads)
│   └── public/         (Static storage for images and STL files)
│
├── mobile/             ← React Native + Expo Application
│   ├── app/screens/    (UI views: Admin, Auth, Shop, Upload)
│   ├── app/context/    (State management: Auth, Cart, Theme)
│   ├── app/lib/        (Axios configuration & utilities)
│   ├── app/theme/      (Theme definitions and color tokens)
│   └── app/data/       (Static data & constants)
│
└── assets/             ← Project branding & documentation assets

🚀 Quick Start

1. Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (Running locally or via Atlas)
  • Expo Go App (Installed on your physical device)

2. Backend Setup

cd backend-node
npm install
npm run dev

By default, the frontend is configured to use the production backend (https://threedink-studio.onrender.com). To test locally, update API_BASE_URL in mobile/app/lib/config.js to http://localhost:8080.

3. Frontend Setup (Mobile/Web)

cd mobile
npm install
npx expo start
  • Web App: Press w in the terminal to launch the web version in your browser. The backend is configured to accept dynamic CORS origins, making it suitable for deployment on Netlify/Vercel.
  • Physical Device: Scan the QR code with your Expo Go app.

Tip

Network Configuration: To test locally on a physical device with a local backend, update the API_BASE_URL in mobile/app/lib/config.js to your computer's local network IP address (e.g., 192.168.1.XXX:8080).


🌐 API Overview

Method Endpoint Access
POST /auth/register Public
POST /auth/login Public
GET /api/products Public
POST/PUT/DELETE /api/products/:id Admin
GET/POST /orders Authenticated
POST /api/uploads/stl Authenticated
POST /stl-orders/calculate Admin
GET /orders/admin/analytics Admin

🚀 Roadmap & Future Updates

The following features are planned for future development to further enhance the platform:

  1. Finish Social Authentication Integration: Process Google and Apple sign-ins using the newly integrated UI buttons.
  2. Payment Gateway Integration: Integrate Stripe or PayPal to securely process credit cards directly inside the app, replacing manual receipt uploads.
  3. Advanced Search & Filtering: Add real-time product search, category filters, and sorting options to the BrowseScreen.
  4. Push Notifications: Integrate Firebase Cloud Messaging (FCM) to automatically notify users when their 3D print quote is ready or their order has shipped.
  5. Wishlist (Favorites) Feature: Allow users to save favorite products or 3D models to purchase later.

👥 Contributors

This is a 2nd Year, 2nd Semester Group Project by Team ITP_IT_56 — SLIIT Undergraduates.

Student ID Name
IT24103160 Yapa Y.L.S.
IT24104072 Wasala W.L.M.P.D.
IT24102084 Wittahachchi S.K.
IT24102402 Munasinghe M.S.D.
IT24100883 Karanayaka K.K.I.M.

🎓 Team ITP_IT_56  |  SLIIT Undergraduates  |  2nd Year · 2nd Semester Group Project

About

A full-stack e-commerce and custom 3D printing service platform built with the MERN stack (MongoDB, Express, React Native, Node.js). Features a product catalogue, STL file upload with material & print configuration, JWT-based auth with RBAC, and a powerful admin dashboard with cost calculation and order management. — SLIIT ITP Group Project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors