LoopIn is an experiences platform where users can explore and sign up for events—either free or paid (via Stripe). Designed with a modern full-stack monorepo architecture, LoopIn allows users to:
- ✨ Browse and discover upcoming events
- 🆓 Sign up for free events
- 💳 Purchase tickets for paid events (Stripe)
- 📧 Receive confirmation emails after sign-up/purchase
- 🗓️ Add events to Google Calendar (if signed in with Google)
- 🗑️ Manage (delete) tickets from their profile
Additionally, staff members can:
- 🛠️ Create, update, or delete events
🧪 Built with cutting-edge tools - Bun, Hono, and TanStack to deliver a fast, modern experience.
- TypeScript
- Bun
- Hono (Edge-native web framework)
- PostgreSQL (via Neon)
- Drizzle ORM
- Zod for validation
- Resend + React Email for sending emails
- Stripe for payments
- Better-Auth for authentication
- React + Vite + TypeScript
- TanStack Router/Query/Form
- Tailwind CSS + Shadcn
- Stripe.js
- Motion for animations
- Luxon / date-fns for date handling
- usehooks-ts for utilities
- Zod (shared across client and server)
- Install Bun
- Populate the
.env
file using.env.example
# 1. Clone the repo
git clone https://github.com/yourusername/loopin.git
cd loopin
# 2. Install backend dependencies
bun install
# 3. Go to frontend folder
cd view
# 4. Install frontend dependencies
bun run install
You'll need two terminal windows open:
# Terminal 1 (backend)
cd loopin
bun run dev
# This will run on localhost:3000 by default
# Terminal 2: (Frontend)
cd loopin/view
bun run dev
# This will run on localhost:5173 by default
- 🔁 Social login via Google/GitHub
- ✅ Ticket confirmation via email
- 💼 Staff mode for event management
- 💸 Secure payments with Stripe
- 🗂️ Fully containerized with Docker
- ☁️ Deployed to Render
Try it live (may take a few seconds to boot ⏳):
👉 https://loopin-aiii.onrender.com/
Built with ❤️ by Stefan Petrov