{"id":27876800,"url":"https://github.com/mjtechguy/bolt-saas-boilerplate","last_synced_at":"2025-05-05T02:52:27.733Z","repository":{"id":278803174,"uuid":"920221102","full_name":"mjtechguy/bolt-saas-boilerplate","owner":"mjtechguy","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-12T22:26:16.000Z","size":301,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-03T20:44:37.333Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mjtechguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-21T19:15:35.000Z","updated_at":"2025-03-12T22:26:20.000Z","dependencies_parsed_at":"2025-02-21T20:12:40.223Z","dependency_job_id":"556d9fd4-2818-42f6-9cd1-d202a795e035","html_url":"https://github.com/mjtechguy/bolt-saas-boilerplate","commit_stats":null,"previous_names":["mjtechguy/bolt-saas-boilerplate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fbolt-saas-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fbolt-saas-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fbolt-saas-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fbolt-saas-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjtechguy","download_url":"https://codeload.github.com/mjtechguy/bolt-saas-boilerplate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252429945,"owners_count":21746571,"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":[],"created_at":"2025-05-05T02:52:27.212Z","updated_at":"2025-05-05T02:52:27.721Z","avatar_url":"https://github.com/mjtechguy.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enterprise SaaS Starter\n\nA full-featured SaaS starter template built with React, TypeScript, Tailwind CSS, and Supabase. This project provides a solid foundation for building enterprise-grade SaaS applications with features like multi-tenancy, role-based access control, and customizable authentication.\n\n## Features\n\n### Authentication \u0026 Authorization\n\n- Email/password authentication\n- Organization-specific social login providers\n- OpenID Connect (OIDC) integration\n- Two-factor authentication (2FA)\n- Role-based access control (RBAC)\n- Fine-grained permissions system\n\n### Multi-tenancy\n\n- Organization management\n- Team management within organizations\n- Hierarchical permissions structure\n- Organization-specific settings and branding\n\n### User Management\n\n- User profiles with avatars\n- Global admin dashboard\n- User invitation system\n- Activity monitoring\n- Last login tracking\n\n### Link Management\n\n- Global, organization, and team-specific links\n- Custom link categories\n- Link sharing and access control\n- Logo and metadata support\n\n### Customization\n\n- Theme customization (light/dark mode)\n- Organization-specific branding\n- Custom navigation links\n- Social media integration\n- Logo management for light/dark themes\n\n### Developer Features\n\n- TypeScript support\n- Docker configuration for development and production\n- Environment variable management\n- Database migrations\n- Row Level Security (RLS)\n- Comprehensive type definitions\n\n## Tech Stack\n\n- **Frontend:**\n\n  - React 18\n  - TypeScript\n  - Tailwind CSS\n  - Lucide Icons\n  - Vite\n\n- **Backend:**\n\n  - Supabase (PostgreSQL)\n  - Row Level Security\n  - Real-time subscriptions\n  - Storage for avatars and logos\n\n- **Authentication:**\n  - Supabase Auth\n  - OAuth 2.0\n  - OpenID Connect\n  - Two-factor authentication\n\n## Prerequisites\n\n- Node.js 18+ and npm\n- Docker and Docker Compose (optional)\n- Supabase account\n- Git\n\n## Getting Started\n\n### Environment Setup\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/yourusername/enterprise-saas-starter.git\n   cd enterprise-saas-starter\n   ```\n\n2. Create a `.env` file in the root directory:\n   ```env\n   VITE_SUPABASE_URL=your_supabase_url\n   VITE_SUPABASE_ANON_KEY=your_supabase_anon_key\n   VITE_DEFAULT_ADMIN_EMAIL=admin@example.com\n   VITE_DEFAULT_ADMIN_PASSWORD=your_admin_password\n   ```\n\n### Local Development\n\n1. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n2. Start the development server:\n   ```bash\n   npm run dev\n   ```\n\n### Docker Development\n\n1. Build and start the containers:\n   ```bash\n   docker-compose up\n   ```\n\n### Production Deployment\n\n1. Build and start the production containers:\n   ```bash\n   docker-compose -f docker-compose.prod.yml up\n   ```\n\n## Database Setup\n\nThe project uses Supabase migrations for database management. Migrations are located in the \\`supabase/migrations\\` directory.\n\n### Key Tables\n\n- \\`profiles\\`: User profiles and settings\n- \\`organizations\\`: Organization management\n- \\`teams\\`: Team management\n- \\`links\\`: Link management system\n- \\`organization_auth_settings\\`: Organization-specific auth providers\n- \\`site_settings\\`: Global site configuration\n- \\`topbar_links\\`: Navigation and social media links\n\n### Running Migrations\n\nMigrations are automatically applied when connecting to Supabase.\n\n## Project Structure\n\n```\n├── src/\n│   ├── components/      # Reusable React components\n│   ├── hooks/          # Custom React hooks\n│   ├── lib/            # Utilities and type definitions\n│   ├── pages/          # Page components\n│   └── main.tsx        # Application entry point\n├── supabase/\n│   └── migrations/     # Database migrations\n├── public/             # Static assets\n└── docker/            # Docker configuration\n```\n\n## Key Components\n\n### Authentication\n\n- \\`AuthForm\\`: Handles user login and registration\n- \\`ProtectedRoute\\`: Route protection based on authentication and roles\n\n### Organization Management\n\n- \\`Organizations\\`: Organization CRUD operations\n- \\`Teams\\`: Team management within organizations\n- \\`OrganizationAuthSettings\\`: Auth provider configuration\n\n### User Interface\n\n- \\`Layout\\`: Main application layout\n- \\`Sidebar\\`: Navigation sidebar\n- \\`TopBar\\`: Top navigation bar\n- \\`PublicTopBar\\`: Public landing page navigation\n\n### Dashboard\n\n- \\`AdminDashboard\\`: Global admin dashboard\n- \\`Dashboard\\`: User dashboard\n- \\`Profile\\`: User profile management\n\n## Security\n\n### Row Level Security (RLS)\n\n- Organization-level data isolation\n- Team-level access control\n- User-specific data protection\n\n### Authentication Security\n\n- Password hashing\n- Two-factor authentication\n- Session management\n- Social login security\n\n# Project Setup\n\n## Auto run the migrations in bolt.new\n\n- `npm run migrate`\n\n## Supabase CLI Setup\n\n### 1. Install Supabase CLI\n\n- To install Supabase CLI, use one of the following methods:\n\n#### Using npm:\n\n- npm install -g supabase\n- supabase login\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\nFor support, please open an issue in the GitHub repository or contact the maintainers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjtechguy%2Fbolt-saas-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjtechguy%2Fbolt-saas-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjtechguy%2Fbolt-saas-boilerplate/lists"}