🇷🇺 Русская версия • 🇬🇧 English Version
Modern full-stack file manager with upload, download, preview and delete functionality.
Designed with:
- clean backend architecture
- typed configuration
- RESTful API
- Docker-based deployment
- production-ready structure
- FastAPI
- OpenAPI 3.1 schema
- Environment-based configuration
- Configurable file storage directory
- Vue 3 (Composition API)
- Vite
- Axios API integration
- Responsive UI
- Docker multi-container setup
- Nginx frontend serving
- Persistent volume storage
Returns list of stored files.
Query: - limit (optional, integer ≥ 1)
Deletes one or multiple files.
Query: - names (required, comma-separated string)
Downloads file by name.
Query: - preview=true → inline response (iframe/img compatible)
Uploads one or multiple files.
Content-Type:
multipart/form-data
Form field:
files[]
docker compose up --buildAvailable at:
- Frontend → http://localhost\
- API → http://localhost:8000\
- Swagger Docs → http://localhost:8000/docs
Persistent storage: Docker volume uploads_data
Stop:
docker compose downpython -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn main:app --reloadcd frontend/filemanager
npm install
npm run dev| Variable | Description | Default |
|---|---|---|
| UPLOAD_DIR | Upload directory | ./src |
| CORS_ORIGINS | Allowed origins | http://localhost:5173 |
| HOST | API host | 0.0.0.0 |
| PORT | API port | 8000 |
| VITE_API_BASE | API base URL | http://localhost:8000 |
Full-stack приложение для управления файлами:
- загрузка
- скачивание
- предпросмотр
- удаление
Проект демонстрирует:
- грамотную архитектуру backend
- конфигурацию через env
- контейнеризацию
- структурированный REST API
MIT