A small ⚛️ remixjs + 🐘 prisma app running on 🎈 fly.io that grabs all of the latest ycombinator.com 'who's hiring' posts
npm install
- Create an .env file:
cp .env.example .env
- hn-hired uses the Prisma ORM with Postgres. You'll need to create a new local db and update the
.env
value forDATABASE_URL=
with the respective db url, e.g.,createdb hnhired && postgresql://postgres:postgres@localhost:5432/hnhired
(postgresql://USER:PASSWORD@HOST:PORT/DATABASE)
- When hn-hired grabs items from firebase it normalizes the item text and associates any preconfigured 'tags' that match the text. You'll need to seed the database with these tags as well as generate the client and run migrations:
npm run setup
- if there's any issues locally w/ the migrations you might need tonpx prisma db push
- Build the app:
npm run build
- Run the process that grabs, normalizes, and persists the ycombinator job post items and stories:
npm run manual-get-latest
NOTE: You can optionally increase how effective thePromise.all
is when fetching firebase items by changing (increase) the.env
valueCONCURRENCY_LIMIT=
. This largely depends on the architecture of your local machine. - Run the server:
npm run dev
and visithttp://localhost:3000
- I used used Figma for a first pass on the designs here: https://figma.com/file/cdelfyxq1MfUet9K1dzogg/hnhired?node-id=2%3A3
- First build the container within the root of the project:
docker build -t hnhired-dev .
- When run locally the current entrypoint in the Dockerfile causes the container to spin up and then immediately terminate which makes debugging impossible. For debugging the container you can pass an alternate entrypoint command that won't exit:
docker run -it --entrypoint=/bin/bash hnhired-dev