MyoniM / sawaup-challenge

This is a repo for Sawaup Senior Fullstack - Challenge

Home Page:https://sawaup-challenge-bh4k.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is a repo for Sawaup Senior Fullstack - Challenge

Deployed URL: https://sawaup-challenge-bh4k.vercel.app/

The project is build using:

  • Clean Architecture
  • NextJs
  • Typescript
  • Prisma ORM
  • PostgeSql

You can find documentaion here: https://sawaup-challenge-bh4k.vercel.app/docs/api-docs

Here is the light house metric for the app: sawa light house report

  • Since the app is small, I used react-query instead of state management packages(I did not implement optimistic updates. Doing so would have improved the user experience. I didnt have time).
  • I created a component that makes YouTube embeds lighter, lazily loaded, and styled to match the rest of the site.
  • I did not stress on the responsiveness since it was not stated in the challenge docs.
  • Didnt implement tests b/c of time.

If you clone and run the project locally:

  • sawa.postman_collection.json is a Postman collection. It has all the endpoints.
  • Update the DATABASE_URL's value inside .env file. If you use a cloud-hosted database for development, you need SHADOW_DATABASE_URL. Here is a link https://www.prisma.io/docs/concepts/components/prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually\
  • Run database migration using the command npx prisma migrate dev --schema=./src/prisma/schema.prisma
  • Generate types for prisma and reload IDE npx prisma generate --schema=./src/prisma/schema.prisma
  • Seed the data inside the excel file to database with the command npx prisma db seed. Make sure you have ts-node globally installed.

Thanks.

About

This is a repo for Sawaup Senior Fullstack - Challenge

https://sawaup-challenge-bh4k.vercel.app/


Languages

Language:TypeScript 91.9%Language:CSS 7.3%Language:JavaScript 0.8%Language:Shell 0.1%