{"id":24489744,"url":"https://github.com/codingforentrepreneurs/saas-for-enterprise-with-django","last_synced_at":"2025-04-13T23:03:35.072Z","repository":{"id":268432473,"uuid":"904331778","full_name":"codingforentrepreneurs/SaaS-for-Enterprise-with-Django","owner":"codingforentrepreneurs","description":"Build an Enterprise SaaS Service with Django. Learn how to isolate customer data by implementing multi-tenancy, subdomain-based auth, and more.","archived":false,"fork":false,"pushed_at":"2024-12-24T06:30:28.000Z","size":342,"stargazers_count":24,"open_issues_count":0,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-21T17:15:30.049Z","etag":null,"topics":["django","enterprise-saas","multi-tenant","neon","neon-postgres","postgres","saas-foundations","tutorial"],"latest_commit_sha":null,"homepage":"https://youtu.be/4h4R7JL-h10","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codingforentrepreneurs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-16T17:22:35.000Z","updated_at":"2025-01-08T17:11:44.000Z","dependencies_parsed_at":"2024-12-16T18:44:16.376Z","dependency_job_id":"82e58b80-500e-4ba7-bffe-679c39bf9513","html_url":"https://github.com/codingforentrepreneurs/SaaS-for-Enterprise-with-Django","commit_stats":null,"previous_names":["codingforentrepreneurs/saas-for-enterprise-with-django"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingforentrepreneurs%2FSaaS-for-Enterprise-with-Django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingforentrepreneurs%2FSaaS-for-Enterprise-with-Django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingforentrepreneurs%2FSaaS-for-Enterprise-with-Django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codingforentrepreneurs%2FSaaS-for-Enterprise-with-Django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codingforentrepreneurs","download_url":"https://codeload.github.com/codingforentrepreneurs/SaaS-for-Enterprise-with-Django/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234988229,"owners_count":18918097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","enterprise-saas","multi-tenant","neon","neon-postgres","postgres","saas-foundations","tutorial"],"created_at":"2025-01-21T17:15:42.792Z","updated_at":"2025-01-21T17:15:45.885Z","avatar_url":"https://github.com/codingforentrepreneurs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SaaS for Enterprise with Django\nLearn how to build an Enterprise SaaS project using Django, Neon Postgres, TailwindCSS, SaaS Starter Code, and more. Enterprise SaaS means we need a a way to isolate customer data by implementing multi-tenancy, subdomain-based auth, and much more. We start with an existing Django application and build on top of that.\n\n## Need help?\nUse [the discussions tab](https://saasgorillas.com/discussions).\n\n## Before you start\n\nI recommend you know some of the following:\n- __Python__\n  - Such as _classes_, _functions_, _variables_, _math operations_, _installing_, _setting up virtual environments_\n  - If you're new to Python, watch up to day 15 of [30 Days of Python](https://saasgorillas.com/python1)(free)\n- __Django basics__\n  - Such as _views_, _URL routing_, _models_ and _migrations_, _users_ and auth _login_\n  - If new to Django, watch [Your First Django Project](https://saasgorillas.com/django1)(paid) or [Try Django 3.2](https://saasgorillas.com/django2)(free)\n- __SaaS fundamentals with Django__ (Optional).\n  - Such as Stripe integration, groups, user permissions,\n  - Consider watching SaaS Foundations course on [YouTube](https://www.youtube.com/watch?v=WbNNESIxJnY) or on [CFE](https://saasgorillas.com/pre)\n  - Review the SaaS starter code on [GitHub](https://github.com/codingforentrepreneurs/SaaS-Foundations)(open source) or [cfe.run](https://get.cfe.run)(managed)\n\n## Links\n- [Code](https://saasgorillas.com/code)\n- SaaS Starter Code on [GitHub](https://github.com/codingforentrepreneurs/SaaS-Foundations)(open source) or [cfe.run](https://get.cfe.run)(managed)\n- Course (coming soon)\n- [Neon Postgres](https://saasgorillas.com/db) (our course sponsor)\n\n## Topics\n\n- What, when, and why of multi-tenant apps (e.g. SaaS apps that need to keep enterprise data isolated)\n- Levels of helping enterprise customers (e.g. when not to use multi-tenant)\n- Implementing a multi-tenant in Django\n- Per-tenant (per enterprise customer) login\n- User data isoloation (via Postgres Schemas and Neon Databases)\n- Custom migrations for Django models; for standard Django and Enterprise customers\n- Django-hosts for subdomain routing and handling\n\n\n## Tech stack\n\n- Django 5+\n- Python 3+\n- [django-hosts](https://django-hosts.readthedocs.io/en/latest/) - Subdomain handling in Django\n- [Neon Postgres](https://kirr.co/ffogxb) - Serverless postgres + near instance database loading\n- Django SaaS Starter code via [GitHub](https://github.com/codingforentrepreneurs/SaaS-Foundations)(open source) or [cfe.run](https://get.cfe.run)(managed)\n- `psycopyg[binary]` and `dj-database-url` - Loading postgres\n- and more\n\n\u003e Note: [django-tenants](https://github.com/django-tenants/django-tenants) is not used in this course. While Django Tenants is a _very good tool_ it requires you to start with Django tenants for your SaaS projects. This tutorial does not. django-tenants was instrumental in designing this course. Once you finish the course, I encourage you to play around with django-tenants!\n\n\n## Definitions\n\nRead the course-specific definitions [on the GitHub discussions](https://github.com/codingforentrepreneurs/SaaS-for-Enterprise-with-Django/discussions/1). This course has a number of definitions that are specific to multi-tenant, enterprise-ready, Django SaaS projects _and_ specific to this course.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingforentrepreneurs%2Fsaas-for-enterprise-with-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodingforentrepreneurs%2Fsaas-for-enterprise-with-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodingforentrepreneurs%2Fsaas-for-enterprise-with-django/lists"}