https://github.com/toweringcloud/express-social-network
social network backend web app using bun + express v4 + swagger + drizzle + postgresql + minio
https://github.com/toweringcloud/express-social-network
coolify digitalocean superbase
Last synced: 3 months ago
JSON representation
social network backend web app using bun + express v4 + swagger + drizzle + postgresql + minio
- Host: GitHub
- URL: https://github.com/toweringcloud/express-social-network
- Owner: toweringcloud
- License: mit
- Created: 2024-10-07T23:41:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-22T09:54:42.000Z (6 months ago)
- Last Synced: 2025-07-22T11:43:18.051Z (6 months ago)
- Topics: coolify, digitalocean, superbase
- Language: TypeScript
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# express-social-network
social network backend web app using express v4 + swagger + drizzle + postgresql + minio
## how to run
### setup
- install latest bun runtime
```sh
$ curl -fsSL https://bun.sh/install | bash
bun was installed successfully to ~/.bun/bin/bun
$ bun -v
1.2.15
```
### configure
- install packages with bun
```sh
$ bun init
$ bun i
```
- define runtime variables
```sh
$ cat .env
MODE=DEV
COOKIE_SECRET={YOUR_COOKIE_SECRET}
GITHUB_API_URL=https://api.github.com
GITHUB_AUTH_URL=https://github.com/login/oauth
GITHUB_CALLBACK_URL=http://localhost:3000/github/callback
GITHUB_CLIENT_ID={YOUR_GITHUB_CLIENT_ID}
GITHUB_CLIENT_SECRET={YOUR_GITHUB_CLIENT_SECRET}
DATABASE_URL=postgres://id:pw@localhost:5432/db
STORAGE_SERVER="minio | cloudflare r2 | aws s3"
STORAGE_REGION=auto
STORAGE_ENDPOINT_URL={YOUR_ENDPOINT_URL}
STORAGE_ACCESS_KEY_ID={YOUR_ACCESS_KEY_ID}
STORAGE_SECRET_ACCESS_KEY={YOUR_SECRET_ACCESS_KEY}
STORAGE_DOWNLOAD_URL={YOUR_PUBLIC_DOMAIN}
```
### launch
- create db schema with drizzle-kit
```sh
$ bun run db:generate
$ drizzle-kit generate
No config path provided, using default 'drizzle.config.ts'
Reading config file '...\drizzle.config.ts'
4 tables
comments 6 columns 0 indexes 2 fks
likes 3 columns 0 indexes 2 fks
threads 8 columns 0 indexes 1 fks
users 9 columns 0 indexes 0 fks
[✓] Your SQL migration file ➜ 0000_clammy_luke_cage.sql 🚀
```
- apply db schema into database server
```sh
$ bun run db:migrate
$ bun run src/models/migrate.ts
Running migrations...
Migrations completed!
```
- run bun app with development mode
```sh
$ bun dev
```