A modern, production-ready Django SaaS (Software as a Service) template with Appwrite integration for database and authentication, and Stripe for subscription management.
-
Appwrite Integration
- Database management
- User authentication
-
Authentication & Authorization
- User registration and login
-
Subscription Management (Stripe)
- Payment processing
- Usage-based billing
- Webhook integration
-
Core Features
- Responsive dashboard
- User profile management
- Activity logging
- API endpoints
- Multi-tenancy support
- Team collaboration features
- Advanced analytics
- Custom reporting
- Webhook management
- API documentation
- Integration with popular services
- Enhanced security features
- Python 3.8+
- Appwrite instance (database for both users/subscriptions)
- Stripe account
- Clone the repository
git clone https://github.com/yourusername/django-saas-template.git
cd django-saas-template- Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Set up environment variables
cp .env.example .envEdit .env with your credentials:
# Django
DEBUG=True
SECRET_KEY=your-secret-key
# Appwrite
APPWRITE_ENDPOINT=your-appwrite-endpoint
APPWRITE_PROJECT_ID=your-project-id
APPWRITE_API_KEY=your-api-key
# Stripe
STRIPE_PUBLIC_KEY=your-stripe-public-key
STRIPE_SECRET_KEY=your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=your-webhook-secret
- Run migrations
python manage.py migrate- Create superuser
python manage.py createsuperuser- Run development server
python manage.py runserver- Create an Appwrite project
- Set up collections for:
- Users
- Profiles
- Subscriptions
- Settings
- Configure authentication methods
- Set up security rules
- Create a Stripe account
- Set up products and pricing
- Configure webhooks
- Add payment methods
- Set up billing portal
django-saas-template/
├── apps/
│ ├── users/ # User management
│ ├── subscription/ # Subscription handling
│
├── project-name/
│ ├── settings/
│ │ ├── base.py
│ │ ├── development.py
│ │ └── production.py
│ ├── urls.py
│ └── wsgi.py
├── templates/
├── static/
├── docs/
└── manage.py
- Set up your production environment
- Configure your web server
- Set up SSL certificates
- Configure email service
- Set up monitoring
Detailed deployment guide available in docs/deployment.md
- CSRF protection enabled
- XSS prevention
- SQL injection protection
- Secure password hashing
- Session security
- CORS configuration
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Create an issue
- Email: zeecomedia2@gmail.com
- Django community
- Appwrite team
- Stripe developers
- All contributors
Full documentation is available at docs/:
- Installation guide
- Configuration options
- API documentation
- Customization guide
- Deployment instructions
- Security best practices
Made with ❤️ by @zeecomedia