How vastsa/filecodebox works
Project type and purpose
• FileCodeBox is a monolithic full-stack application for anonymous file/text sharing, built with FastAPI (backend) and Vue 3 (frontend).
• The backend serves both the REST API and the compiled Vue frontend assets (in themes/2023 and themes/2024).
• Core features: upload/download via extraction codes, admin panel, pluggable storage (local, S3, OneDrive), rate limiting, expiration.
File structure
• Top-level:
• main.py – entrypoint to start FastAPI.
• apps/ – application modules:
– apps/base/ (upload/download business logic)
– apps/admin/ (management UI APIs)
• core/ – shared services: configuration, DB session, storage abstraction, logger, background tasks.
• themes/ – compiled Vue 3 frontend for two UI themes; includes index.html and static assets.
• docs/ – documentation site (VitePress) – not part of runtime.
• docker-compose.yml / Dockerfile – container definitions.
• Config: requirements.txt, .env loaded by core/settings.py.
• Data directories: at runtime a data volume for SQLite and uploaded files.
README for additional insights
• Stack: FastAPI, SQLite (default), Vue3 + ElementUI.
• Features: extraction codes, expiration, admin dashboard, storage engines.
• Deployment: Docker CLI / Compose, or manual python main.py.
• Admin panel at /#/admin, protected by a password.