https://github.com/aditya000099/launchbase
Launchbase starter code for SaaS
https://github.com/aditya000099/launchbase
hacktoberfest open-source saas saas-application saas-boilerplate
Last synced: 8 months ago
JSON representation
Launchbase starter code for SaaS
- Host: GitHub
- URL: https://github.com/aditya000099/launchbase
- Owner: aditya000099
- Created: 2024-10-20T19:23:24.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-05T12:25:45.000Z (over 1 year ago)
- Last Synced: 2024-11-05T13:37:29.729Z (over 1 year ago)
- Topics: hacktoberfest, open-source, saas, saas-application, saas-boilerplate
- Language: JavaScript
- Homepage:
- Size: 4.21 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Launch Base - SaaS Starter Template
A modern SaaS starter template built with Next.js 13+, Appwrite, Stripe, and more. Get your SaaS project up and running in minutes!
## π Features
- π Authentication with Appwrite
- π³ Payment processing with Stripe
- π§ Email system with Mailgun
- π Dark mode support
- π± Responsive design
- π¨ Modern UI with Tailwind CSS
## π οΈ Prerequisites
Before you begin, ensure you have:
- Node.js 16+ installed
- An Appwrite account
- A Stripe account
- A Mailgun account
## π Getting Started
### 1. Clone the Repository
```bash
git clone https://github.com/yourusername/launch-base.git
cd launch-base
```
### 2. Install Dependencies
```bash
npm install
```
### 3. Set Up Appwrite
1. Create an Appwrite account at [cloud.appwrite.io](https://cloud.appwrite.io)
2. Create a new project in Appwrite
3. Go to your project settings and note down:
- Project ID
- API Endpoint
- API Key (create a new API key with all permissions)
### 4. Set Up the Database
Run the Appwrite setup script to create all necessary collections:
```bash
node appwrite-scripts/setup.js
```
When prompted, enter your:
- Project ID
- API Key
This will create:
- Users collection
- Subscriptions collection
- Payments collection
### 5. Configure Environment Variables
1. Copy the example environment file:
```bash
cp .env.example .env.local
```
2. Fill in your environment variables:
```env
# Appwrite
NEXT_PUBLIC_APPWRITE_ENDPOINT=your_appwrite_endpoint
NEXT_PUBLIC_APPWRITE_PROJECT_ID=your_project_id
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id
# Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
STRIPE_SECRET_KEY=your_stripe_secret_key
# Mailgun
MAILGUN_API_KEY=your_mailgun_key
MAILGUN_DOMAIN=your_domain
# App URL
NEXT_PUBLIC_APP_URL=http://localhost:3000
```
### 6. Start the Development Server
```bash
npm run dev
```
Visit [http://localhost:3000](http://localhost:3000) to see your app!
## πΊοΈ Project Structure
```
launch-base/
βββ app/ # Next.js 13+ app directory
β βββ page.js # Home page
β βββ login/ # Authentication pages
β βββ dashboard/ # User dashboard
β βββ account/ # User account management
βββ components/ # Reusable components
βββ lib/ # Utility functions and configs
βββ appwrite-scripts/ # Database setup scripts
```
## π Project Flow
1. **Home Page (`/`):**
- Landing page with feature showcase
- Links to pricing and authentication
2. **Authentication:**
- Sign up (`/signup`)
- Login (`/login`)
- Password reset (`/forgot-password`)
3. **User Flow:**
- After signup/login, users are redirected to dashboard
- Users can view/update their profile in account page
- Subscribe to plans through the pricing page
4. **Subscription Flow:**
- Choose a plan from pricing page
- Complete payment through Stripe
- Access premium features based on subscription
## π οΈ Customization
### Adding New Features
1. Create new pages in the `app` directory
2. Add new components in `components` directory
3. Update navigation in `components/Header.js`
### Styling
- Uses Tailwind CSS for styling
- Customize theme in `tailwind.config.js`
- Global styles in `app/globals.css`
## π€ Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
- Next.js team for the amazing framework
- Appwrite for the backend solution
- Stripe for payment processing
- All other open-source contributors
## π Need Help?
- Check out the [Discussions](https://github.com/yourusername/launch-base/discussions) tab
- Open an [Issue](https://github.com/yourusername/launch-base/issues)
- Read the [Wiki](https://github.com/yourusername/launch-base/wiki)
---
Built with β€οΈ using Next.js and Appwrite