Twitter-inspired full-stack app, letting you express yourself (only!) with emojis. Built in Typescript with tRPC API for full-stack type-safety. Also includes GitHub sign-in (Clerk Auth).
Showcases my ability to build a full-stack app which is completely type-safe end-to-end, and using a modern framework / tech.
Tech used: React, Next.js, TypeScript, tRPC, Tailwind CSS, Prisma, MySQL, PlanetScale, Clerk Auth.
- Install dependencies by running
npm install
-
Set up an account, with Clerk, PlanetScale, and Upstash. Create a new project / app with each of these services, and get relevant details required for env variables below.
-
Set up environment variables by creating .env file in root directory, and putting in the following variables
DATABASE_URL='your.planetscale.mysql.connection.url'
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY='your.clerk.application.publishable.key'
CLERK_SECRET_KEY='your.clerk.application.secret.key'
UPSTASH_REDIS_REST_URL="your.upstash.redis.rest.url"
UPSTASH_REDIS_REST_TOKEN="your.upstash.redis.rest.token"
- Run in dev, by running the below command, and open http://localhost:3000 with your browser to see the result.
npm run dev
The easiest way to deploy the app is to use the Vercel Platform.
Check out the Next.js deployment documentation for more details.