Skip to content

kristianka/kristiankahkonen.com

Repository files navigation

kristiankahkonen.com

Blog and portfolio website. Main technologies NextJS, Directus.

Live at https://kristiankahkonen.com/!

Technologies used 🔧

All the code in frontend and backend are made with TypeScript and with latest libraries and standards. Frontend and backend are in the same codebase thanks to NextJS. Almost everything is Server-Side Rendered (SSR) and/or pre-generated with Static Site Generation (SSG). Updated on demand with a webhook from Directus with Incremental Static Regeneration (ISR) .

  • NextJS with app router
  • TailwindCSS
  • Framer Motion
  • Basic testing automated by Playwright

Behind the scenes:

  • Directus CMS
  • Postgre SQL database
  • Redis cache
  • NGINX
  • Everything is Dockerized
  • Hosted on Oracle Cloud Instance
  • Images uploaded to Oracle Object Storage
  • Cloudflare protection

Running the app

Running production on server

  • Add SSL certifications to certs folder in root, change urls in nginx.conf to your website urls
  • Run docker compose up

Running locally

  • Inside Docker: docker compose -f "docker-compose.dev.yml" up
  • Outside Docker
  • Install dependencies npm install
  • Run npm run dev

Testing

Make sure the app is running, instructions above

  • Inside Docker: npm run test:e2e-dockerized
  • Outside Docker: npm run test:e2e-local