This document contains learning resources, tutorials, and guides for understanding and contributing to FileDuck.
- Vue 3 - Progressive JavaScript framework
- TypeScript - Type-safe JavaScript
- Vite - Next-generation build tool
- Node.js - JavaScript runtime
- Express - Web framework for Node.js
- GitHub Releases - Primary storage backend
- AWS S3 - Object storage
- CloudFront - CDN for global distribution
- Redis - In-memory data store
- ClamAV - Antivirus engine
- VirusTotal - File scanning API
Learn about monorepo management with Turborepo:
- Multipart Upload - Splitting large files into chunks
- Presigned URLs - Secure direct uploads to S3/GitHub
- Resumable Uploads - Handling interrupted transfers
- Zero-Knowledge Architecture - Client-side encryption
- One-Time Codes - Single-use access tokens
- Rate Limiting - Protecting against abuse
- Review ARCHITECTURE.md for system design
- Check CONTRIBUTING.md for contribution guidelines
- Read SECURITY.md for security practices
# Install dependencies
pnpm install
# Start development servers
pnpm dev
# Run tests
pnpm test
# Build for production
pnpm build- ESLint - Linting JavaScript/TypeScript
- Prettier - Code formatting
- TypeScript - Type checking
- File Upload with Progress: Learn about
XMLHttpRequestandFormData - Client-Side Encryption: Explore Web Crypto API
- Real-time Updates: WebSockets and Server-Sent Events
- Progressive Web Apps: Service Workers and offline functionality
- Code Splitting: Lazy loading routes and components
- Image Optimization: Compression and lazy loading
- Caching Strategies: Browser cache, CDN, and Redis
- GitHub Issues: Report bugs or request features
- Discussions: Share ideas and ask questions
- Discord/Slack: Join our community (if available)
- Explore the Codebase: Start with
apps/vue-app/src/andapps/api/ - Run Locally: Follow the Quick Start guide in README.md
- Make Small Changes: Fix typos, update docs, add comments
- Build Features: Pick an issue labeled "good first issue"
- Share Knowledge: Write tutorials, create videos, help others
Happy Learning! 🚀
For questions or suggestions about these learning resources, please open an issue or submit a pull request.