# Radionica3D — Modern 3D Printing Service

[![Vue 3](https://img.shields.io/badge/Frontend-Vue%203-42b883?style=flat-square&logo=vue.js)](https://vuejs.org/)
[![FastAPI](https://img.shields.io/badge/Backend-FastAPI-009688?style=flat-square&logo=fastapi)](https://fastapi.tiangolo.com/)
[![SQLite](https://img.shields.io/badge/Database-SQLite-003b57?style=flat-square&logo=sqlite)](https://www.sqlite.org/)
[![TailwindCSS](https://img.shields.io/badge/Styling-Tailwind-38bdf8?style=flat-square&logo=tailwind-css)](https://tailwindcss.com/)

**Radionica3D** is a full-featured web platform for a 3D printing service, designed to bridge the gap between clients and creators. It handles everything from model analysis and automated pricing to real-time communication and fiscal reporting.

> "Мы печатаем — и делаем как надо." (We print — and we do it right.)

## 🚀 Key Features

- **Instant Quote**: Upload STL/3D models and get instant price estimates based on volume and material.
- **True Chat**: Real-time bidirectional communication via WebSockets for seamless order adjustments.
- **Advanced User Panel**: Track all your orders, download invoices, and manage your 3D printing projects in one place.
- **Admin Dashboard**: Comprehensive order management, customer support, portfolio management, and warehouse tracking.
- **Fiscal Compliance**: Integrated electronic fiscalization for Montenegrin tax regulations (EFI).
- **Nuances & Guidelines**: Automated education for users about 3D printing technicalities (anisotropy, layers, etc.).

## 🏗 Architecture

The project follows a modern decoupled architecture:
- **Frontend**: Vue 3 (Vite), Pinia, TailwindCSS, Lucide Icons.
- **Backend**: FastAPI (Python 3.10+), SQLAlchemy, Redis (for pings/presence), JWT Authentication.
- **Database**: SQLite (Development) / PostgreSQL (Optional Production).

For more details, see [Architecture Overview](docs/architecture.md).

## 🛠 Getting Started

### Prerequisites
- Node.js 18+
- Python 3.10+
- Git

### Installation
1. Clone the repository:
   ```bash
   git clone https://git.loky.pw/git/radionica3d.git
   ```
2. Set up the frontend:
   ```bash
   npm install
   npm run dev
   ```
3. Set up the backend:
   ```bash
   cd backend
   python -m venv .venv
   source .venv/bin/activate  # or .venv\Scripts\activate on Windows
   pip install -r requirements.txt
   python main.py
   ```

## 📖 Documentation

Detailed documentation is available in the `docs/` directory:
- [General Overview](docs/README.md)
- [Architecture & Design](docs/architecture.md)
- [Deployment Guide](docs/deployment.md)
- [Admin Tutorial](docs/admin_tutorial.md)
- [Localization Workflow](docs/development.md#localization)

## 📄 License
© 2024 Radionica3D. All rights reserved.
