Skip to content

Schryzon/3Dex

Repository files navigation

3Dēx

3Dēx Social Preview




3Dēx is a 3D services and asset marketplace where clients can hire 3D artists and purchase 3D assets, featuring real-time previews rendered in the browser.

This repository contains both the frontend and backend for the platform.


Table of Contents


Features

  • Authentication & Authorization (Secure JWT + Role-based Access)
  • Interactive 3D Services Marketplace (Providers & Print Services)
  • Digital Asset Marketplace (Models, Textures, HDRIs) with Advanced Search
  • Community Feed & Interactions (Posts, Likes, Comments)
  • Content Moderation & NSFW Filtering (Blurring, Content Flags, Admin Approvals)
  • Unified Library Hub (Consolidated Saved, Downloads, and My Uploads)
  • Artist & Provider Analytics Dashboards
  • Secure File Storage (MinIO/S3 Presigned URLs)
  • Client-Side 3D Previews (Optimized interactive canvas)
  • Order Management & Payment Integration (Midtrans Sandbox / Production)
  • Dēxie AI Assistant (Emu x Ako persona, contextual situational AI)

Tech Stack

  • Frontend: Next.js, React, React Query, Tailwind CSS
  • Backend: Node.js, Express
  • Database: PostgreSQL
  • ORM: Prisma
  • Storage: MinIO (S3 Compatible)
  • AI Ecosystem: Google Gemini (Generative AI)
  • Version Control: Git & GitHub

Project Structure

3Dex/
├─ .github/           # GitHub Actions workflows
├─ .vscode/           # Editor settings
├─ apps/
│  ├─ backend/        # Express + Prisma backend
│  └─ frontend/       # Next.js frontend
├─ docs/              # Project documentation
├─ docker-compose.yml # Docker configuration
├─ ecosystem.config.js # PM2 configuration
├─ LICENSE            # Project license
├─ package.json       # Workspace dependencies
└─ README.md          # Primary documentation

Getting Started

Refer to the following guide for initial setup and development:

dev.md — complete setup, installation, Git workflow, and troubleshooting.


Contributor Guidelines

  • Do not work on the master branch.
  • Always branch from the dev branch.
  • One task per feature branch.
  • Never commit .env files.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

You are free to use, study, modify, and distribute this software under the terms of the AGPL-3.0.
Any distributed modifications (including those offered over a network) must also be licensed under AGPL-3.0 and made available as open source.

See the LICENSE file for full details.

Primary Contributors

  • I Nyoman Widiyasa Jayananda "Schryzon" (Backend, SysAdmin, Project Manager)
  • I Kadek Mahesa Permana Putra "Vuxyn" (Frontend, UI/UX, QA)
  • Thoriq Abdillah Falian Kusuma "ganijack" (Frontend, Integration, OAuth)