Skip to content

amosbastian/pokemon

Repository files navigation

Pokémon

A Next.js 13 application built using the new router, server components and server actions, as well as NextAuth.js, Drizzle ORM and Turso in an Nx monorepo

Warning This app is more than likely not using best practices. Server actions are still in alpha and some things currently don't work in an Nx monorepo.

About this project

I built this project to play around with server actions as well as server components, Drizzle ORM and the new intercepting / parallel routes. Take everything you see in here with a grain of salt.

Note on performance / thoughts

Warning This app is using server actions, which are in alpha, and do not (yet) have the best UX or DX. Expect to see some jank when playing around with the app. As for a personal recommendation, I'd stick to something like tRPC for now and wait until they improve things in the future.

Some highlights

Known issues

A list of things not working right now:

  1. Constant warnings in the terminal, probably caused by Nx
  2. Loading state when adding / removing Pokémon is janky because of server actions

Running locally

  1. Install dependencies using npm:
  2. Copy .env.example to .env and update the variables (you will need to set up GitHub OAuth)
cp .env.example .env.local
  1. Run the migrations & seed the database
npx drizzle-kit generate:sqlite
npx drizzle-kit up:sqlite
npm run seed
  1. Start the development server:
npx nx serve web

Acknowledgements

Just a few things that helped to build this app

License

Licensed under the MIT license.

About

A Next.js 13 application built using the new router, server components and server actions, as well as NextAuth.js, Drizzle ORM and Turso in an Nx monorepo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published