Hi everyone! I built an open source SaaS Starter using Streamlit. I was trying to figure out how to create MVPs using Streamlit very quickly and decided to create a fully python native SaaS product. I will share with everyone the template that I ended up building!
Github: GitHub - antoineross/streamlit-saas-starter
Streamlit Cloud: https://saas-starter.streamlit.app/
Note: The Google cloud provider is not set, only github. Stripe links are just there for display, but you just need to create your own products from stripe dashboard and import them on the streamlit secrets and it would work.
Key Features:
Authentication and User Experience
-
Secure OAuth Authentication: Integrate effortlessly with Supabase for secure user authentication and session management. Supabase supports multiple providers like Google and GitHub for logging in.
-
User-Friendly Login Page: A fully-featured landing page that includes an FAQ section, pricing table, login options, contact form, feature highlights, and a hero section.
-
Modern UI with shadcn UI: Utilize modern and attractive UI components for forms and other interactive elements.
-
Vertical Space Function: Customizable vertical spacing to enhance layout and design.
Open Source and Community-Driven
-
Completely Open Source: Join our vibrant community, report issues, suggest features, and contribute code and documentation.
-
Built with Supabase and Postgres: Reliable backend infrastructure using Supabase with Postgres functions for efficient data management.
-
Logo Cloud: Showcase technology stack or partners with a responsive and visually appealing logo cloud.
-
GitHub Stars: Display the number of stars on your GitHub repository to attract more contributors.
Comprehensive Dashboard and Hero Section
-
Dashboard with Subscription Check: Custom Stripe payment method that checks if the user is subscribed to a plan and updates their subscription status accordingly.
-
Hero Section: Engaging hero section with clear calls to action to captivate and convert visitors.
Dashboard/Server Features
-
User Authentication: Ensure users are authenticated securely using Supabase’s OAuth integration.
-
Subscription Management: Check and manage user subscriptions using Stripe, with automatic synchronization between Stripe and Supabase.
-
User Data Management: Store and retrieve user data efficiently with Supabase.
-
Subscription Status Check: Verify if a user is an active subscriber and update their subscription details in Supabase.
-
Custom Stripe Payment Integration: Implement custom payment methods for different subscription tiers using Stripe.
-
Note: All features are dummy on the dashboard page, but the code implemented is from the
server.py
file.
If you have any questions please let me know! Any contributions are welcome!