Blooms is an open-source e-commerce platform designed to empower developers and businesses with a heavenly alternative to LemonSqueezy and Paddle. Our mission is to provide a feature-rich, customizable, and scalable solution for digital product sales, subscriptions, and license management.
- 🛒 Digital product sales
- 💳 Subscription management
- 🔑 License key generation and validation
- 📊 Analytics and reporting
- 🌐 Multi-currency support
- 🔒 Secure payment processing
- 🎨 Customizable checkout experiences
- 🔗 API for seamless integrations
- 📱 Mobile-responsive design
Blooms is built with a combination of modern technologies:
- Frontend: Next.js, Tailwind CSS
- Backend: Hono.js
- Database: PostgreSQL
- ORM: Prisma
- Authentication: Clerk
- Payment Processing: Stripe
- Deployment: Vercel
- CI/CD: GitHub Actions
To set up your own instance of Blooms, follow these steps:
-
Clone the repository:
git clone https://github.com/im-Kazmi/Blooms- cd
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env.local
Edit
.env.local
with your configuration details. -
Set up the database:
npx prisma migrate dev
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the magic!
Here's a glimpse of how to use Blooms in your project:
SDK is not built yet nor the app but will be used like the following. it is just an example
import { Blooms } from 'celestialcommerce';
const cc = new Blooms({
apiKey: 'your_api_key',
// other configuration options
});
// Create a new product
const product = await cc.products.create({
name: 'Stardust Software',
price: 29.99,
currency: 'USD',
});
// Generate a license key
const license = await cc.licenses.generate(product.id);
console.log(`New license key: \${license.key}`);
Blooms is open-source software licensed under the MIT license. See the LICENSE file for more details.
Crafted with ❤️ by the kazmi (for now)