Forque
A home for admin apps
Meta
- State: development
- Staging: https://tools-staging.artsy.net
- Production: https://tools.artsy.net
- GitHub: https://github.com/artsy/forque
- Deployment:
- PRs from feature branches → main will automatically deploy to staging
- PRs from staging → release will automatically deploy to production. (Start a deploy...)
- Point People: @anandaroop, @damassi
Setup
Clone the repo:
git clone [email protected]:artsy/forque.git
cd forque
Install dependencies and setup config values:
./scripts/setup.sh
Defaults are in .env.development
. Sensitive overrides are copied from S3 to .env.local
. Personal overrides can be provided in a .env.development.local
file.
Run unit tests:
yarn test
Start a development server, and visit it at http://localhost:3000
yarn dev
Start Storybook:
yarn storybook
Run Relay:
yarn relay --watch
Troubleshooting
-
If you get a
Only absolute URLs are supported
upon login this may mean that you don't have a properly configured env file. Be sure to follow the setup steps above. -
If you get a
Unauthorized: invalid client_id
upon login this may mean that you haven't configured the correct app id and app secret in your env file. The appropriate ClientApplication credentials can be found in Gravity. -
If you've created a new page under
/pages
but don't see it appear in the browser, you're missing the.page.tsx
prefix in the file name. See here and here for more info. -
If you're trying to refetch data with Relay and its not working, have you:
- Wrapped the part of the React tree with a suspense component?
<Suspense fallback={<div>loading</div>}>
- Wrapped your click handler which triggered the refetch in
startTransition
helper?
const handleClick = () => {
startTransition(() => {
refetch({ ... })
})
}
We're using React 18 now, so all of the new concurrency features now apply.
About
Forque originally began as a Hackathon project in January 2022. It aims to provide a typical Artsy frontend stack for creating modern admin UIs.
It is built on the Next.js framework.