# Radionica 3D Project Documentation Welcome to the official documentation for the Radionica 3D platform. This document provides a high-level overview of the project, its goals, and the technology stack. ## Overview Radionica 3D is a full-stack web application designed for a 3D printing studio based in Montenegro. It allows users to: - Upload 3D models (STL, OBJ, etc.). - Receive quotes and track order progress. - Interact with administrators via a real-time bidirectional WebSocket chat. - View and acknowledge technical 3D printing nuances (anisotropy, shrinkage, etc.). - Manage cookie consent for anonymous visitor tracking. - Place new orders directly from the unified Orders Dashboard. - View a portfolio of previous works. - Manage reviews and blog posts. The platform follows a "Trust-based" business model: Pay on delivery, trust in every layer. ## Technology Stack The project is built using modern, robust technologies: ### Frontend - **Framework**: [Vue 3](https://vuejs.org/) (Composition API) - **Build Tool**: [Vite 6](https://vitejs.dev/) - **State Management**: [Pinia](https://pinia.vuejs.org/) - **Styling**: [Tailwind CSS](https://tailwindcss.com/) - **Routing**: [Vue Router](https://router.vuejs.org/) - **Localization**: `vue-i18n` with a custom split/merge system. - **Animations**: `@vueuse/motion` - **3D Rendering**: [Three.js](https://threejs.org/) for STL previews. ### Backend - **Framework**: [FastAPI](https://fastapi.tiangolo.com/) (Python 3.11+) - **Database**: SQLite (managed via raw SQL and custom migration scripts). - **Authentication**: JWT-based (JSON Web Tokens). - **Communication**: WebSockets for real-time order chat. - **Background Tasks**: Telegram integration for admin notifications. ## Documentation Navigation - [Architecture](./architecture.md): Detailed system design and folder structure. - [Frontend Guide](./frontend.md): UI components, state, and localization. - [Backend Guide](./backend.md): API routes, database schema, and services. - [Development Guide](./development.md): How to run locally, add features, and test. - [Admin Tutorial](./admin_tutorial.md): Step-by-step guide to extending the Admin Panel. - [Deployment Guide](./deployment.md): Production setup and build scripts.