This repository contains the source code of v10i.dev website.
GitHub is used as a CMS for this project, the content is stored in the private (at least, for now) repository. Content is written using markdown with extended GFM syntax. Data fetching is done through the GitHub REST API.
- Yarn Berry
- TypeScript 4.4
- Next.js 12:
next-pwa
next-seo
next-sitemap
- Front-end:
- React 17
styled-components
swr
dayjs
- Markdown:
react-markdown
remark
gray-matter
- _
prismjs
for code blocks
- Back-end (API routes):
- NestJS 8
- Babel
axios
for all HTTP requestsfeed
to generate the RSS feedfnts
for some functional style spice- CI/CD:
- Vercel deployment
zx
as language for CI scriptseslint
prettier
stylelint
npm-package-json-lint
husky
lint-staged
commitlint
- Jest
/public
– static assets/scripts
– CI and misc scripts (zx
& Node.js)/src
:/api
– Next.js API routes/client
– Front-end code/shared
– code shared between/api
and/client
/pages
– Next.js file system routing
/tests
– unit and integration tests
To run the project locally, first, [fork and] clone this repository:
git clone git@github.com:drizzer14/v10i.dev.git
Install dependencies:
yarn install
Add .env
file in the project root using the .env.example
template. Preferably, fill in all the variables, except for optional HOST
and PORT
which can be omitted to enforce the defaults (localhost:3000
).
Then, start the local development server:
yarn start
To test the production build:
yarn build
yarn serve
Designed and coded with ❤️ by Dmytro Vasylkivskyi.