An onboarding platform for KYH students.
This project is setup as a monorepo using yarn workspaces containing two workspaces:
studio/
- the CMS built with sanity studioweb/
- the website built with next.js
This project also depends on one external service called sanity which is a headless CMS used to store and query content (accessed server-side).
The general approach has been to make use of Incremental Static Regeneration (ISR) where possible for content to be static along with Client-Side Rendering (CSR) where content needs to be dynamic.
Create a .env.local
file in web/
and add the following environment variable along with its corresponding value:
SANITY_TOKEN = ""
Then use yarn
to run available scripts e.g:
# installs dependencies
yarn
# starts next.js dev server on http://localhost:3000
yarn start:web
# starts sanity studio dev server on http://localhost:3333
# and is proxied via http://localhost:3000/studio (when start:web is running)
yarn start:studio
# starts both workspaces dev servers concurrently
yarn start
Project is currently hosted on vercel and deploys through their github integration.
During build (yarn build
) the static output for studio/
is put among the static files for web/
(in public/studio/*
). This makes it easy to deploy both studio/
and web/
as a single project under the same domain.