- โก Next.js with Server Actions
- ๐ฅ Type checking TypeScript
- ๐ Integrate with Tailwind CSS and Shadcn UI
- ๐ File upload with AWS S3
- ๐ Authentication with NextAuth
- ๐ค Social Auth (Google)
- โป๏ธ Type-safe environment variables with T3 Env
- โจ๏ธ Form with React Hook From
- ๐ด Validation library with Zod
- โ Containerization with Docker
- ๐ท Run deployment on pull request with GitHub Actions
You can view a live demo by clicking HERE
To run the application on your local machine, follow these steps.
git clone https://github.com/Armadillidiid/reddit-clone.git
For NEXTAUTH_SECRET
, use the openssl command to generate a random secret.
cd reddit-clone/
cp env-local-dev .env.local
Create a new OAuth 2.0 client ID in the Google Cloud Console. Add the client ID and client secret to the .env.local
file.
NEXTAUTH_URL=http://localhost:3000
GOOGLE_ID=YOUR_GOOGLE_ID
GOOGLE_SECRET=YOUR_GOOGLE_SECRET
Create a new bucket in AWS S3. Add the bucket name, access key, and secret key to the .env.local
file.
AWS_REGION=YOUR_AWS_REGION
AWS_BUCKET_NAME=YOUR_AWS_BUCKET_NAME
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY
docker compose up