This app is intended to be used as a coding challenge and knowledge sharing (within my company). The goal is to create a working replica of twitter (the posting part, we don't care about the rest) and then use the codebase as a jumping off point for less experiences devs to aclimate to using different types of services and to learn how to build real world prod ready applications.
This is a T3 Stack project bootstrapped with create-t3-app
.
It contains and is built using the following technologies and libraries:
- Next.js
- NextAuth.js
- Prisma
- Tailwind CSS
- tRPC
- Planetscale
- Vercel
- Clerk
- dayJS
- Zod
- Upstash
- React Hook Form + Yup
(not listed by priority):
- add an image hosting service so we can upload profile images/splash screens
- retweet models/logic/fn
- responsive
- create vars in tailwind for main/secondary/action colors
- update the middleware (right now it doesn't do anything)
- add notifications? 🤔 [maybe not]
- add the ability to post pictures/media/urls
- finish Sign In via email/pass [add pass to account] -- maybe in V2
- fix all TS errors
- create new github/google oath apps for Vercel and add their ENVs
- implement character counter for Tweets/Replies
- refetchOnWindowFocus: disable for some queries?
- create UI components for Avatars
- invalidate Post data on Reply