AnimeVerse is a modern, full-stack anime discovery and management platform built with Go, MongoDB, Redis, HTMX, and Tailwind CSS. Discover, search, and manage your anime collection with a beautiful, responsive interface.
- Browse & Discover - Explore 39,000+ anime with advanced filtering
- Personal Lists - Create and manage your anime watchlist
- User Profiles - Customizable profiles with avatar upload
- Real-time Search - Instant search across our extensive database
- Trending & Popular - Stay updated with latest anime trends
- Dark/Light Mode - System-wide theme toggle with persistence
- Responsive Design - Optimized for desktop, tablet, and mobile
- Glass Morphism - Modern backdrop-blur navigation and cards
- Interactive Elements - Smooth animations and micro-interactions
- Loading States - Skeleton loading for better user experience
- Smart Caching - Redis caching with optimized strategies
- Database - 39K+ anime dataset stored in MongoDB
- High-Quality Images - Automatic image quality optimization
- Fast Loading - 50 items per page with progressive loading
- CDN Integration - Optimized content delivery
- Go 1.24+ - High-performance backend with Chi router
- MongoDB - NoSQL database with 39,000+ anime records
- Redis - In-memory caching for performance optimization
- RESTful API - Clean, documented endpoints with JSON responses
- HTMX - Dynamic, interactive web interface
- Tailwind CSS - Utility-first CSS framework
- Vanilla JavaScript - Lightweight client-side functionality
- Responsive Design - Mobile-first approach
- Docker - Containerization for consistent deployments
- GitHub Actions - Automated CI/CD pipeline
- Multi-stage Builds - Optimized production containers
- Health Checks - Application monitoring and reliability
- 39,000+ Anime Records - Comprehensive anime database
- High-Quality Metadata - Detailed information including genres, scores, episodes
- Optimized Indexing - Fast search and filtering capabilities
- Real-time Updates - Dynamic content synchronization
- Multi-level Caching - Browser β Redis β Database
- Smart Expiration - 5-30 minute cache windows
- Cache Warming - Preloaded popular content
- Performance Metrics - 85%+ cache hit rate
- Response Time - <100ms for cached requests
- Throughput - 1000+ requests per second
- Database Queries - <10ms average query time
- Uptime - 99.9% availability target
# Clone the repository
git clone https://github.com/Flack74/AnimeVerse.git
cd AnimeVerse
# Start with Docker Compose
docker compose up -d
# Access the application
open http://localhost:8000# Prerequisites: Go 1.24+, MongoDB, Redis
# Install dependencies
go mod tidy
# Set environment variables
cp .env.example .env
# Run the application
go run main.go
# or with hot reload
air# Database
ConnectionString=mongodb://localhost:27017
DBName=animeverse
CollectionName=anime
# Cache
REDIS_URL=redis://localhost:6379
# Server
PORT=8000
# Authentication (Optional)
ADMIN_USERNAME=admin
ADMIN_PASSWORD=secure-password- Dynamic carousel with latest trending anime
- Featured anime recommendations
- Airing schedule with real-time updates
- Quick search and navigation
- Advanced filtering by genre, year, status
- 50 anime per page with load more functionality
- High-quality image previews
- Instant search with debounced input
- User authentication and profiles
- Personal anime lists with status tracking
- Avatar upload and profile customization
- Statistics and viewing history
- Mobile-optimized interface
- Touch-friendly navigation
- Adaptive layouts for all screen sizes
- Progressive web app capabilities
GET /api/animes/trending # Trending anime
GET /api/animes/search?q=naruto # Search anime
GET /api/anime/{name} # Get specific anime details
GET /api/simple/browse # Fast browse with filtersPOST /api/user/anime # Add anime to list
PUT /api/user/anime/{id}/status # Update anime status
GET /api/user/stats # Get user statistics
DELETE /api/user/anime/{id} # Remove from list{
"success": true,
"data": [...],
"source": "database|cache|api",
"total": 39000
}AnimeVerse/
βββ controllers/ # HTTP request handlers
βββ services/ # Business logic layer
βββ models/ # Data structures
βββ middleware/ # Authentication & CORS
βββ cache/ # Redis caching layer
βββ config/ # Database configuration
βββ static/ # Frontend assets
βββ router/ # Route definitions
βββ docker-compose.yml
# Hot reload development
air
# Run tests
go test ./...
# Build for production
go build -o animeverse-api .
# Docker development
docker compose --profile dev up- Go best practices and conventions
- Comprehensive error handling
- Unit tests with coverage reports
- Automated code review process
- Security vulnerability scanning
- Secure user registration and login
- Session management with JWT tokens
- Password hashing with bcrypt
- Rate limiting on authentication endpoints
- Input validation and sanitization
- SQL injection prevention
- XSS protection with CSP headers
- Secure cookie handling
- Container security with non-root users
- Network isolation with Docker
- Environment variable encryption
- SSL/TLS enforcement
- Request/response times
- Error rates and types
- Cache hit/miss ratios
- User engagement statistics
- Container resource utilization
- Database performance metrics
- Redis memory usage
- Network traffic analysis
- Application health endpoint
- Database connectivity checks
- Cache availability monitoring
- Automated alerting system
# Build production image
docker build -t animeverse:latest .
# Deploy with Docker Compose
docker compose -f docker-compose.prod.yml up -d
# Scale horizontally
docker compose up --scale animeverse=3- AWS EC2 with Auto Scaling
- Load balancer integration
- RDS for MongoDB hosting
- ElastiCache for Redis
- CloudWatch monitoring
- Automated testing on pull requests
- Docker image building and pushing
- Staging environment deployment
- Production deployment with rollback
We welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
- Follow Go conventions
- Write comprehensive tests
- Update documentation
- Ensure Docker builds pass
- Test responsive design
- Use GitHub Issues for bug reports
- Provide detailed reproduction steps
- Include system information
- Attach relevant logs or screenshots
This project is licensed under the MIT License - see the LICENSE file for details.
- Go Community - For the excellent ecosystem and tools
- MongoDB - For the flexible NoSQL database
- Redis - For high-performance caching
- HTMX - For modern web interactions
- Tailwind CSS - For rapid UI development
- Docker - For containerization and deployment
If you find AnimeVerse useful, please consider giving it a star! β
Built with β€οΈ by the Flack