A Chilean Bird explorer using Next.js 13, Typescript, Tailwind CSS and Tailwind UI. Using aves.ninja.cl API. Focused on performance: instead of using SSR for each time an user makes a request, I used getStaticProps and getStaticPaths so it builds the ahead of time.
First install pnpm as package manager so we avoid dependencies problems.
npm i -g pnpmThen install the packages
pnpm install
And run dev server with
pnpm run dev
For production just use next build. It's gonna take some time because we need to render almost 200+ subpages for each bird available on the API.
pnpm run build
- Make search run on server, not on client.
- Add local storage to save favorite bird.
- Improve rendering of the 250 birds with virtual list or infinite scroll. Limitations are the api that send you all the birds, there's no way of querying it like
limit=50
- Gallery preview renders with
<image>html5 element. Not with Next Image component, so there will be CLS(Cumulative Layout Shift) almost in every page detail render. - React Audio player breaks on production when we run
next build(?).