Foundational framework for building apps in the organization.
- Astro - Modern web framework
- Better Auth - Complete authentication solution with email/password
- Drizzle ORM - Type-safe database ORM
- Stripe - Payment processing library
- Chakra UI v3 - Component library
- Tailwind CSS - Utility-first CSS framework
- TypeScript - Type safety
- Bun - Fast JavaScript runtime
- Users - User accounts with Better Auth integration
- Sessions - Active user sessions
- Accounts - OAuth provider accounts
- Verification Tokens - Email verification tokens
- Settings - User preferences and settings
- Subscriptions - Stripe subscription management
- Bun 1.0+ (https://bun.sh) - Recommended
- Or Node.js 18+ with npm as fallback
- Clone the repository:
git clone https://github.com/BigInformatics/gobig.git
cd gobig- Install dependencies:
# Using Bun (recommended) - generates bun.lock
bun install
# Or using npm (fallback) - generates package-lock.json
npm installNote: This project uses
bun.lockfor dependency locking when using Bun (v1.3+). Thepackage-lock.jsonis gitignored to avoid conflicts. If you use Bun, it will automatically create/updatebun.lock. If you use npm, it will createpackage-lock.jsonlocally (gitignored).
- Set up environment variables:
cp .env.example .env
# Edit .env and add your configuration- Initialize the database:
# Using Bun
bun run db:push
# Or using npm
npm run db:pushStart the development server:
# Using Bun (recommended)
bun run dev
# Or using npm (fallback)
npm run devThe application will be available at http://localhost:4321
Use bun run or npm run for the following commands:
- Generate migrations:
bun run db:generateornpm run db:generate - Push schema:
bun run db:pushornpm run db:push - Migrate:
bun run db:migrateornpm run db:migrate - Studio:
bun run db:studioornpm run db:studio- Open Drizzle Studio
/- Main landing page/login- User login/signup- User registration/app- Protected application page (requires authentication)
/api/auth/*- Better Auth endpoints (sign in, sign up, sign out, session management)
# Using Bun
bun run build
bun run preview
# Or using npm
npm run build
npm run previewSee .env.example for all available environment variables:
DATABASE_URL- Database connection stringBETTER_AUTH_SECRET- Secret key for Better AuthBETTER_AUTH_URL- Application URLSTRIPE_SECRET_KEY- Stripe secret key (optional)STRIPE_PUBLISHABLE_KEY- Stripe publishable key (optional)
MIT