| ![Playwright tests] |
|---|
- [course](https://www.udemy.com/course/playwright-tutorials-automation-testing/)
- [playwright-test-coverage](https://dev.to/anishkny/code-coverage-for-a-nextjs-app-using-playwright-tests-18n7)
This app is to track of weekly events, and hopefully provide a community resource. I recently moved to Leicester (UK) and could not find a site listing weekly events for babies/toddlers, so I built one. This was part generating a resource, and large part learning project.
| Framework: | |
| Language: | |
| CSS: | |
| Database: | |
| ORM: | |
| Testing: |
| Component | Package |
|---|---|
| downshift | event search bar |
| react-google-maps | Google map on each event page |
| react-hook-form | Event and contact forms |
| zustand | Passing state between components |
| nodemailer | Sending email from contact form |
| husky | Running ts-link before commit to typecheck |
In addition to the scripts provided by Next.js, I have added the following: "ts-lint": "tsc --noEmit --incremental --watch", "ts-lint-commit-hook": "tsc --noEmit --incremental", "prepare": "husky install"
| Image | Source | Notes |
|---|---|---|
| Favicon | svg from freeSVG | converted/generated scripts at Real Favicon Generator |
| Hero image | unsplash | Photo by Artem Kniaz, Ukranian photographer turned solider |
I used many! I have listed them in the order I used them, and I have tried to give credit where I can. I have also listed the tutorials I used to learn the tech stack.
- I had already used Next.js and TypeScript, so didn't do anything specific here.
- When I first used Next.js I started with the official Next.js tutorial. Note this app is next.js v13.3 using the Page Router. v13.4, which migrates to the App Router, came out while I was writing it. I may update in the future.
- I took this Microsoft Typescript tutorial to get started with TypeScript. The react typescript cheatsheet is a great resource.
- Next.js x prisma
- My intro to prisma, and this is a lot of the reason I used Prisma and supabase. I was undecided what to use, and finding this tutorial from Vercel decided for me.
- Note I took this tutorial when it was using supabase, and they have since launched Vercel Postgres.
- husky and ts-lint pre-commit typecheck hook
- I kept getting type errors on build, and this was a great way to catch them before they happened. I'd never used husky before, and this was a real eye-opener of how simple and powerful it is.
- playwright
- the docs give a great intro and this was enough to get me up and running for UX tests. I struggled with test structure and mocking APIs, so:
- udemy course
- I did this.
- Nodemailer x gmail x OAuth2
- after a few false starts I found this tutorial, which helped me get not only Nodemailer but also (the bit I was having problems with) OAuth2 set for fmail set up properly.
- this Kevin Powell video
- was a great help in changing my mindset for CSS from styling on desktop and setting media queries for max-width for smaller screens, to styling for mobile and setting media queries for min-width for larger screens. This was an interesting concept switch and especially useful for this project, which I envisage as being used primarily on mobile.