What is AstrNest?
AstrNest is a modern, enterprise-grade image hosting platform built with Spring Boot 3.4.1 and Vue 3.5.24. It provides comprehensive image management capabilities with multi-cloud storage support, advanced security features, and a modern user interface.
🎯 Project Overview
Core Mission
AstrNest aims to provide a reliable, scalable, and secure image hosting solution for businesses and developers. It combines the stability of traditional enterprise software with the flexibility of modern cloud-native architectures.
Target Audience
- Enterprises: Companies needing secure image hosting with compliance requirements
- Developers: Individuals and teams building applications that require image storage
- Content Creators: Users who need reliable image hosting with advanced features
- Educational Institutions: Schools and universities requiring image management solutions
📸 What is Image Hosting?
Image hosting, simply put, refers to specialized servers used for storing and sharing images on the internet. Its core function is to provide image storage services and generate unique image URLs for you. When you place these links on your website, forum posts, blog articles, or social media platforms, others can directly access your images through these links.
Core Value of Image Hosting
Save Storage and Bandwidth
For individual users or small websites, especially those using low-configuration servers, storing images on image hosting platforms can effectively save local server storage space and bandwidth, thereby improving the overall performance and smoothness of the website.
Improve Access Speed
Many image hosting services use CDN (Content Delivery Network) acceleration, replicating your images to multiple nodes worldwide. When users access them, images can be loaded from the nearest server, significantly improving image loading speed.
Convenient Sharing and Management
You don't need to worry about images occupying local space and can share images anytime, anywhere through links. Additionally, image hosting platforms typically provide image management features, such as organizing by category, tags, or time, making it easy to find and use images.
How Image Hosting Manages Images
Image Upload
- Support for uploading via web drag-and-drop, direct file selection, and even pasting images from the clipboard
- Some image hosting services also provide API interfaces for developers to integrate into other applications or tools (such as pairing with Markdown editors like Typora)
Image Storage
- Diverse storage solutions including local server storage, third-party object storage (such as Alibaba Cloud OSS, Tencent Cloud COS, S3-compatible storage buckets, etc.)
- For data security and access speed, distributed storage or deployment across multiple geographic locations may be used
Image Processing and Distribution
- Many image hosting platforms provide built-in image processing functions, such as cropping, scaling, compression, watermarking, and format conversion (e.g., converting images to WebP format to reduce file size)
- Through CDN acceleration, ensuring fast image access for users worldwide
Management and Security
- User and Permission Management: For self-hosted or advanced image hosting platforms, multi-user management, grouping can be set up, and control over different users' upload, delete, and view permissions for images
- Security Measures: Including setting access permissions (public/private), anti-hotlinking technology, domain whitelisting, and even integrated image review (such as adult content detection, violence detection) functions to prevent the spread of inappropriate content
- Operation Logs: Record all user operations for event tracing and system maintenance
🎯 Core Features
Complete API Ecosystem
- RESTful API + API key authentication + Web management interface
- Support for user portal, security management, API key management, system configuration and other complete interfaces
Flexible Storage Solutions
- Support for local storage and cloud object storage (OSS/COS) with one-click switching
- S3 compatible driver with default 5GB threshold triggering 25MB chunked upload
- Support for CDN/CNAME, acceleration domain, PathStyle and pre-signed direct upload credentials
Member Governance and Quotas
- Admin "Member List" supports viewing avatars/quotas/like totals
- One-click adjustment of daily upload and total storage limits
- Support for switching between ADMIN/USER/VISITOR roles
Visitor Interaction Capabilities
- Public gallery can configure "Chenxi Visitor Likes"
- Support for visitor tokens (X-Chenxi-Visitor) and recent likes display
- Can disable visitor interaction features at any time
Real-time Monitoring and Email Services
- System operation status monitoring and operation log auditing
- Integrated email templates and verification code sending
- Default pre-configured Alibaba Cloud mail SMTP
📦 Technology Stack
Backend Technology
- Framework: Spring Boot 3.4.1
- Language: Java 21
- Database: MySQL 5.7+/8.0
- Security: Spring Security 6
- Documentation: SpringDoc OpenAPI 3
- Build: Maven Wrapper
Frontend Technology
- Framework: Vue 3.5.24
- Build: Vite 5.4.10
- Routing: Vue Router 4
- State Management: Pinia 3
- UI Components: Element Plus 2.8.6
- Styling: Tailwind CSS 3
- Icons: Lucide Vue, Element Plus Icons
📁 Project Structure
astrnest/
├─ backend/ # Spring Boot service: REST API, authentication, content review, API key management
├─ frontend/ # Vue 3 + Vite SPA: dashboard, upload center, security console, API integration
└─ storage/ # (Runtime generated) Local storage directory, can be configured to OSS/COS💡 Why Choose AstrNest?
AstrNest is not just an image hosting system, but a complete content governance platform:
- Enterprise Security: Comprehensive data security from authentication to content review
- High Scalability: Support for multi-cloud storage, easily handling business growth
- Modern Experience: Based on the latest technology stack, providing smooth user experience
- Open Source Free: MIT license, free to use and customize
- Active Community: Continuous updates, timely response to issues and requirements
🌟 AstrNest Deep Integration with Tencent Cloud SaaS Ecosystem
Enterprise-Grade SaaS Platform Positioning
AstrNest is a modern full-stack image hosting and content governance platform that adopts the SaaS (Software as a Service) model, providing complete image management solutions for enterprises. The project deeply integrates with Tencent Cloud's SaaS ecosystem, leveraging Tencent Cloud's technological advantages in cloud computing, AI, and storage.
Core Integration Points with Tencent Cloud SaaS
1. Deep Integration with Tencent Cloud Object Storage (COS)
- Native COS Driver Support: AstrNest includes built-in Tencent Cloud COS storage driver, supporting one-click storage strategy switching
- Chunked Upload Optimization: For large file uploads, default 5GB threshold triggers 25MB chunked upload, improving upload stability
- CDN Acceleration Integration: Supports Tencent Cloud CDN acceleration domain configuration for global content distribution
- Pre-signed Direct Upload: Supports pre-signed direct upload credentials, reducing server pressure and improving upload efficiency
2. Intelligent Content Review with Tencent Cloud Data Processing (COS CI)
- AI Review Integration: Deep integration with Tencent Cloud Data Processing image review service
- Multi-scenario Detection: Supports multi-dimensional review including adult content, violence, advertising, and politically sensitive content
- Smart Tagging: Automatically identifies image content and generates AI tags for easy content management
- Dual Protection: AI automatic review + manual review mechanism ensures content safety
3. Seamless Integration with Tencent Cloud Infrastructure
- Database Compatibility: Supports Tencent Cloud MySQL database service, ensuring high data availability
- Containerized Deployment: Native support for Tencent Cloud Container Service (TKE) deployment
- Monitoring Integration: Can integrate with Tencent Cloud monitoring service for real-time system operation status monitoring
Core Competitive Advantages
Advanced Technical Architecture
- Modern Technology Stack: Spring Boot 3.4.1 + Vue 3 + Vite 5 full-stack technology
- Microservices-Friendly: Frontend-backend separation architecture, easy for microservices transformation
- Complete API Ecosystem: Comprehensive RESTful API system supporting third-party integration
Enterprise-Level Features
- Multi-tenant Support: Complete user permission management system supporting multiple organizations
- Quota Management: Flexible storage quota and upload limit configuration
- Operation Auditing: Complete operation log recording meeting compliance requirements
Multi-Cloud Storage Strategy
- Storage Flexibility: Supports local storage + multiple cloud storage providers
- One-click Switching: Storage strategies can be dynamically switched, reducing vendor lock-in risk
- Cost Optimization: Can choose optimal storage solutions based on business needs
Target Customer Groups
- Small and Medium Enterprises: Companies needing professional image management with limited budgets
- Content Platforms: Blogs, forums, social media platforms requiring image hosting services
- E-commerce Businesses: Product image management and CDN acceleration needs
- Developers: Application developers requiring API integration
Future Development Potential
- Enhanced AI Capabilities: Further integration with Tencent Cloud AI services like image recognition, content generation
- Edge Computing: Combined with Tencent Cloud edge computing to improve image processing efficiency
- Serverless Architecture: Evolution towards serverless architecture to reduce operational costs
🌟 Key Features
1. Advanced Image Management
Smart Upload System
- Drag & Drop: Intuitive interface for easy file uploads
- Batch Processing: Support for uploading multiple files simultaneously
- URL Import: Direct upload from external URLs
- Chunked Upload: Support for large files with resume capability
Intelligent Processing
- Automatic Thumbnails: Multiple thumbnail sizes generated automatically
- Image Optimization: Compression and format conversion
- Metadata Extraction: EXIF data, dimensions, and technical information
- Duplicate Detection: Smart detection of duplicate uploads
2. Multi-Cloud Storage Architecture
Storage Providers
- Local Storage: Traditional file system storage
- Alibaba Cloud OSS: High-performance object storage
- Tencent Cloud COS: Reliable cloud object storage
- Custom Providers: Extensible architecture for additional providers
Storage Strategies
- Automatic Routing: Intelligent selection based on performance and cost
- Cross-Cloud Backup: Data redundancy across multiple providers
- Tiered Storage: Cost optimization with different storage tiers
- Migration Tools: Easy migration between storage providers
3. Enterprise Security
Authentication & Authorization
- JWT-based Authentication: Secure token-based login system
- Role-based Access Control: ADMIN, USER, VISITOR permissions
- API Key Management: Secure integration for third-party applications
- Two-Factor Authentication: Enhanced security for sensitive operations
Data Protection
- Encryption at Rest: Data encryption in storage
- Secure Transmission: HTTPS and TLS encryption
- Access Logs: Comprehensive audit trails
- Compliance: GDPR, CCPA, and other regulatory compliance
4. Modern Technology Stack
Backend Architecture
- Spring Boot 3.4.1: Latest Spring framework with enhanced performance
- Java 21: Modern Java features and improved performance
- MySQL 8.0: Relational database with advanced features
- Redis: Caching and session management
- Maven: Dependency management and build automation
Frontend Architecture
- Vue 3.5.24: Composition API and better TypeScript support
- TypeScript: Type-safe development experience
- Tailwind CSS: Utility-first CSS framework
- Vite: Fast build tool and development server
- Pinia: State management for Vue applications
🏗️ Technical Architecture
System Architecture Diagram
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Vue 3 Frontend │◄──►│ Spring Boot API │◄──►│ Database Layer │
│ │ │ │ │ │
│ • Responsive UI │ │ • RESTful APIs │ │ • MySQL 8.0 │
│ • TypeScript │ │ • Security │ │ • Redis Cache │
│ • Tailwind CSS │ │ • Business Logic│ │ • Data Models │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Browser │ │ Application │ │ Storage Layer │
│ │ │ Server │ │ │
│ • SPA Routing │ │ • Tomcat/Nginx │ │ • Local FS │
│ • PWA Features │ │ • Load Balancer │ │ • Cloud Storage │
│ • Offline Support│ │ • SSL/TLS │ │ • Backup System │
└─────────────────┘ └─────────────────┘ └─────────────────┘Core Modules
1. Authentication Module
- User registration and login
- JWT token management
- Password reset and security
- Session management
2. File Management Module
- File upload and download
- Storage provider abstraction
- File metadata management
- Thumbnail generation
3. User Management Module
- User profile management
- Role and permission system
- API key management
- Usage statistics
4. Administration Module
- System configuration
- User management
- Storage management
- System monitoring
5. API Gateway Module
- Request routing
- Rate limiting
- Security validation
- Logging and monitoring
📊 API Interface Overview
RESTful API Design
Authentication Endpoints
POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/refresh- Token refreshPOST /api/auth/logout- User logout
File Management Endpoints
POST /api/upload- File uploadGET /api/files/{id}- Get file informationDELETE /api/files/{id}- Delete fileGET /api/files- List user files
User Management Endpoints
GET /api/user/profile- Get user profilePUT /api/user/profile- Update user profileGET /api/user/uploads- Get upload historyPOST /api/user/apikeys- Create API key
Administration Endpoints
GET /api/admin/users- List all usersPUT /api/admin/users/{id}- Update userGET /api/admin/stats- System statisticsPOST /api/admin/config- Update system config
API Response Format
{
"code": 200,
"message": "Operation successful",
"data": {
"id": 1,
"name": "Example Data"
},
"timestamp": "2024-01-01T00:00:00Z"
}🚀 Deployment Options
1. Docker Compose (Recommended)
version: '3.8'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_DATABASE: astrnest
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:7.0-alpine
backend:
image: astrnest/backend:latest
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/astrnest
SPRING_REDIS_HOST: redis
depends_on:
- mysql
- redis
frontend:
image: astrnest/frontend:latest
ports:
- "3000:80"
depends_on:
- backend
volumes:
mysql_data:2. Traditional Deployment
Backend Deployment
- Install Java 21 and Maven
- Configure MySQL and Redis
- Build and deploy Spring Boot application
- Configure reverse proxy (Nginx)
Frontend Deployment
- Install Node.js 18+
- Build Vue application
- Deploy to web server
- Configure domain and SSL
3. Cloud Platform Deployment
Kubernetes Deployment
- Containerized deployment with Helm charts
- Auto-scaling based on load
- Service mesh integration
- Monitoring and logging
Serverless Deployment
- AWS Lambda + API Gateway
- Azure Functions
- Google Cloud Run
- Cost-effective for variable loads
📈 Performance Metrics
System Performance
- Response Time: < 100ms for API calls
- Upload Speed: Optimized for large files
- Concurrent Users: Support for 1000+ simultaneous users
- Storage Capacity: Scalable to petabytes
Reliability Metrics
- Uptime: 99.9% availability target
- Data Durability: 99.999999999% (11 nines)
- Backup Frequency: Real-time replication
- Recovery Time: < 1 hour for full recovery
🔧 Configuration Management
Application Configuration
Backend Configuration
# Database Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/astrnest
spring.datasource.username=root
spring.datasource.password=root123
# Redis Configuration
spring.redis.host=localhost
spring.redis.port=6379
# File Storage Configuration
storage.local.path=/data/uploads
storage.aliyun.access-key=your-access-key
storage.aliyun.secret-key=your-secret-keyFrontend Configuration
// API Configuration
export const API_BASE_URL = process.env.VITE_API_URL || 'http://localhost:8080'
// Storage Configuration
export const STORAGE_CONFIG = {
maxFileSize: 100 * 1024 * 1024, // 100MB
allowedTypes: ['image/jpeg', 'image/png', 'image/gif']
}🌟 Future Roadmap
Short-term Goals (Next 3 months)
- [ ] Enhanced image editing capabilities
- [ ] Advanced search and filtering
- [ ] Mobile app development
- [ ] Additional storage provider support
Medium-term Goals (Next 6 months)
- [ ] AI-powered image recognition
- [ ] Advanced analytics dashboard
- [ ] Plugin system for extensibility
- [ ] Enterprise SSO integration
Long-term Vision (Next 12 months)
- [ ] Global CDN integration
- [ ] Advanced video hosting capabilities
- [ ] Blockchain-based verification
- [ ] Marketplace for plugins and themes
🚀 Ready to explore more? Check out our Quick Start Guide to begin your journey with AstrNest!
🔗 Related Links: API Documentation | FAQ