PhotoApp is a social app inspired by Instagram. Users can create posts, like them and add comments to them. There is a chat feature in the app that uses WebSocket for communication. For the frontend I used the Next.js framework, TypeScript, Tanstack Query and TailwindCSS, while for the backend I used Fastify, TypeScript and ImageKit to store images added by users. For database communication, I used PostgreSQL and Prisma. For communication between the frontend and backend, I used openapi-typescript.
https://photoapp.maciej-garncarski.pl/
# turbo is needed for monorepo
pnpm add -g turbo
pnpm install
# /apps/frontend/.env
NEXT_PUBLIC_API_ROOT=
# /apps/backend/.env
DATABASE_URL=
SECRET=
IMG_KIT_PRIVATE=
IMG_KIT_PUBLIC=
IMG_KIT_ENDPOINT=
APP_URL=
COOKIE_DOMAIN=
BACKEND_URL=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
STATUS="production | development"
turbo dev
- Authentication
- Adding posts, liking and commenting them
- Chat based on websocket
- Edit account
- TypeScript
- PostCSS with css-modules
- Next.js
- Tanstack Query React
- Eslint
- Prettier
- Husky
- Conventional Commits config