Bepstack is a collection of bleeding-edge technologies to build modern web applications.
Including:
- B: Bun - Runtime + package manager, Biome - Code quality
- E: ElysiaJS - HTTP Framework
- P: Prisma - ORM
This project demonstrates the stack in action via a RealWorld example.
Production and shared environment variables are defined in src/core/env.ts
.
Test-specific environment variables are now defined in src/core/test-env.ts
and are only used by test scripts and test runners. This keeps test configuration isolated from production config.
-
Install dependencies
bun install
-
Copy
.env.example
to.env
and fill in the valuescp .env.example .env
-
Start the database server
bun db:start
-
Push the database schema to the database
bun db:push
-
Start the development server
bun dev
-
(Optional) Start the database studio
bun db:studio
Run all tests:
bun run test # Not `bun test`!
Or run different test suites individually:
bun test:api # Run the API tests
bun test:unit # Run the unit tests
Tip
To create test-specific environment configuration, create a .env.test
file. You may use .env.test.example
as a template:
cp .env.test.example .env.test
Tip
See more info in ElysiaJS's building for production guide.
-
Build the app
bun run build # not `bun build`!
-
Run the production server (preview)
bun preview
See CONTRIBUTING.md for more information, including how to set up your development environment.