A secure, end-to-end encrypted email service with cloud storage, built with modern web technologies and enterprise-grade security.
- π End-to-End Encryption - Client-side encryption using RSA and AES-256-GCM
- π§ Secure Email - Encrypted email communication with @odyssie.net addresses
- βοΈ Cloud Storage - Encrypted file storage with sharing capabilities
- π³ Subscription Management - Flexible billing with Stripe integration
- π Analytics Dashboard - Usage tracking and storage management
- π‘οΈ Security Features - Rate limiting, abuse prevention, and security monitoring
- π Cross-Platform - Responsive web interface with offline support
- π Monitoring - Comprehensive monitoring with Prometheus and Grafana
Get up and running in under 5 minutes:
# Clone the repository
git clone https://github.com/your-org/encrypted-email-service.git
cd encrypted-email-service
# Copy environment configuration
cp .env.example .env
# Start all services
docker-compose up -d
# Wait for services to be ready (30-60 seconds)
# Check health
curl http://localhost/health- Web App: http://localhost
- API: http://localhost/api
- Monitoring: http://localhost:3000 (admin/admin)
That's it! π
- Installation Guide - Complete setup instructions
- API Documentation - REST API reference
- Architecture Guide - System design and components
- Security Guide - Security features and best practices
- Deployment Guide - Production deployment options
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Database β
β (React) βββββΊβ (Node.js) βββββΊβ (MongoDB) β
β β β β β β
β β’ React 18 β β β’ Express.js β β β’ MongoDB 6.0 β
β β’ TypeScript β β β’ TypeScript β β β’ Redis 7 β
β β’ Vite β β β’ JWT Auth β β β
β β’ Framer Motion β β β’ WebSockets β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββ
β Monitoring β
β β
β β’ Prometheus β
β β’ Grafana β
β β’ Loki β
β β’ Alertmanager β
βββββββββββββββββββ
# Install dependencies
npm install
# Start backend development server
cd packages/backend
npm run dev
# Start frontend development server (new terminal)
cd packages/frontend
npm run dev# Run all tests
npm test
# Run specific test suites
npm run test:backend
npm run test:frontend
npm run test:e2e
# Run infrastructure tests
cd tests/infrastructure
npm test# Lint code
npm run lint
# Format code
npm run format
# Type checking
npm run type-check# Production deployment
./scripts/deploy-production.sh
# Staging deployment
./scripts/deploy-staging.sh# Apply Kubernetes manifests
kubectl apply -f k8s/
# Check deployment status
kubectl get pods -n encrypted-emailSee the Installation Guide for detailed manual deployment instructions.
This application implements enterprise-grade security features:
- Encryption: End-to-end encryption with RSA-4096 and AES-256-GCM
- Authentication: JWT-based authentication with secure session management
- Authorization: Role-based access control and permission systems
- Input Validation: Comprehensive input sanitization and validation
- Rate Limiting: API rate limiting and abuse prevention
- Security Headers: HSTS, CSP, and other security headers
- Monitoring: Security event logging and intrusion detection
Built-in monitoring stack includes:
- Prometheus - Metrics collection and alerting
- Grafana - Visualization and dashboards
- Loki - Log aggregation and analysis
- Alertmanager - Alert routing and notifications
Access monitoring at http://localhost:3000 (admin/admin)
Automated pipelines for:
- Testing - Unit, integration, and security tests
- Building - Docker image builds with security scanning
- Deployment - Blue-green deployments with rollback
- Monitoring - Health checks and performance monitoring
Supports both GitHub Actions and GitLab CI/CD.
Key configuration variables:
# Security (REQUIRED)
JWT_SECRET=your-super-secret-jwt-key-minimum-32-characters-long
ENCRYPTION_KEY=your-32-character-encryption-key-here
# Database
MONGO_USERNAME=admin
MONGO_PASSWORD=your-secure-mongodb-password
REDIS_PASSWORD=your-secure-redis-password
# Domain
DOMAIN=yourdomain.com
CORS_ORIGIN=https://yourdomain.com
# Payment (Stripe)
STRIPE_SECRET_KEY=sk_live_your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=whsec_your_stripe_webhook_secretSee .env.example for all available options.
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
npm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Check our Installation Guide
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: Report security issues to security@yourdomain.com
- Built with React and Node.js
- Encryption powered by Web Crypto API
- Monitoring by Prometheus and Grafana
- Payments by Stripe
Made with β€οΈ for secure communication