Corpus Core - SaaS is a Streamlit-based SaaS template with secure authentication and Stripe-backed subscriptions. It includes example pages and feature gating patterns you can reuse across projects.
See it live in action here: https://corpus-core.streamlit.app/
- π Secure Authentication: OAuth integration with Google/Microsoft/GitHub login
- π³ Premium Subscription: Stripe-powered payment system with free trial
- π Multi-language Support: English and German localization
- π¨ Theme Support: Light and dark mode themes
- π± Responsive Design: Mobile-friendly interface
- Python 3.8 or higher
- Streamlit account for authentication
- Stripe account for payment processing (optional for development)
-
Clone the repository
git clone https://github.com/aizech/corpus-core-saas.git cd corpus-core-saas -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
cp .streamlit/secrets-example.toml .streamlit/secrets.toml cp .streamlit/config-example.toml .streamlit/config.toml
-
Set up authentication and payment
- Configure Auth0 credentials in
.streamlit/secrets.toml - Add Stripe API keys for payment processing
- Update configuration settings as needed
- Configure Auth0 credentials in
-
Run the application
streamlit run app.py
corpus-core-saas/
βββ assets/ # Static assets and images
β βββ godsinwhite_logo_*.png # Logo variants
β βββ godsinwhite_team_*.png # Team images
βββ locales/ # Internationalization
β βββ en.py # English translations
β βββ de.py # German translations
βββ pages/ # Application pages
β βββ Home.py # Main dashboard
β βββ Trial.py # Trial page
β βββ Premium.py # Premium page
β βββ Account.py # User account management
β βββ Pricing.py # Subscription plans
β βββ Help.py # Help and support
β βββ About.py # About page
βββ .streamlit/ # Streamlit configuration
β βββ config.toml # App configuration
β βββ secrets.toml # API keys and secrets
βββ styles_*.css # Theme stylesheets
βββ config.py # Application configuration
βββ app.py # Main application entry point
βββ requirements.txt # Python dependencies
Configure the following in .streamlit/secrets.toml:
# Authentication
[auth0]
domain = "your-auth0-domain"
client_id = "your-client-id"
client_secret = "your-client-secret"
# Payment Processing
stripe_api_key = "your-stripe-live-key"
stripe_api_key_test = "your-stripe-test-key"
testing_mode = false
# Application Settings
[general]
company_name = "Corpus Core - SaaS"
support_email = "support@corpusanalytica.com"Modify config.py to customize:
- Company information
- Logo and asset paths
- Application URLs
- Agent configurations
- OAuth 2.0 integration with Auth0
- Support for Google, Microsoft and GitHub login
- Session management and user profiles
- Premium subscription validation
- Responsive Design: Works on desktop and mobile devices
- Theme Support: Light and dark mode options
- Internationalization: English and German language support
- Accessibility: WCAG compliant interface
The platform uses Stripe for subscription management. There you can define your own plans and prices.
Here you can find the Stripe documentation: https://stripe.com/docs
Examples:
- Free Trial: 14-day trial with basic features
- Premium Plan: Full access to all premium features
- Automatic Billing: Recurring subscription management
- Usage Tracking: Monitor API usage and limits
- Data Encryption: All data encrypted in transit and at rest
- Secure Authentication: OAuth 2.0 with industry standards
- Audit Logging: Comprehensive activity tracking
- Privacy Controls: User data management and deletion
Currently supported languages:
- English (en)
- German (de)
To add a new language:
- Create a new file in
locales/(e.g.,fr.py) - Add translations following the existing format
- Update language selection in
login.py
The application supports light and dark themes:
styles_light.css- Light theme stylesstyles_dark.css- Dark theme stylesstyles_common.css- Common styles for both themes
Users can toggle themes using the theme switcher in the sidebar.
streamlit run app.py- Set up production environment variables
- Configure domain and SSL certificates
- Deploy using your preferred hosting platform
- Set up monitoring and logging
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8501
CMD ["streamlit", "run", "app.py"]- User Analytics: Track user engagement and feature usage
- Performance Monitoring: Application performance metrics
- Error Tracking: Comprehensive error logging
- Health Checks: System status monitoring
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - 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 proprietary software. All rights reserved.
- Email: support@corpusanalytica.com
- Website: https://www.corpusanalytica.com/
- Support Portal: https://www.corpusanalytica.com/support
Corpus Core - SaaS
A reusable SaaS template by Corpus Analytica
