A modern e-commerce platform for 3D printing and laser engraving services with custom design upload capabilities, real-time cost calculation, and a fully functional admin dashboard.
- Dual-service Platform: Offering both 3D printing and laser engraving services
- Custom Design Upload: Upload your own 3D models or image files
- Real-time Cost Calculation: Instant pricing based on material usage, size, and complexity
- Model Visualization: 3D preview for uploaded models
- Product Shop: Ready-made products for direct purchase
- User Accounts: Save designs, order history, and track deliveries
- Admin Dashboard: Comprehensive admin panel for order and user management
- Responsive Design: Works on desktop, tablet, and mobile devices
-
Frontend:
- React/Next.js
- Tailwind CSS
- Three.js (for 3D model rendering)
- React-Three-Fiber (React renderer for Three.js)
-
Backend:
- Node.js
- Express.js
- MySQL (primary database)
- Mongoose/MongoDB (secondary database)
- Multer (file uploads)
- JWT Authentication
-
Payment:
- Vipps integration
- Stripe integration (planned)
- Node.js 16.x or higher
- MySQL database
- MongoDB (optional)
- NPM or Yarn
-
Clone the repository:
git clone https://github.com/counter440/Laserkongen2.git cd Laserkongen2 -
Install dependencies:
npm install -
Set up environment variables by creating a
.envfile:NODE_ENV=development PORT=5000 MYSQL_HOST=localhost MYSQL_USER=your_mysql_user MYSQL_PASSWORD=your_mysql_password MYSQL_DATABASE=laserkongen JWT_SECRET=your_jwt_secret_key NEXT_PUBLIC_API_URL=http://localhost:5000 -
Start both the backend server and frontend application:
./start.shOr start them separately:
# Terminal 1: Start the backend server npm run server # Terminal 2: Start the frontend application npm run dev -
The application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
To access the admin dashboard, you'll need to create an admin account:
- Go to http://localhost:3000/setup
- Create an admin account using the secret key:
laserkongen_admin_setup_key - Once created, you can log in with your admin credentials at http://localhost:3000/login
For production deployment, we recommend:
-
Building the Next.js application:
npm run build -
Using the provided systemd service file to run the application as a service:
sudo ./install-service.sh
This project is proprietary software.