Web forum focused on programming-related topics. Live at devforum.dev
This project was made to learn about some tools.
This is not a professional or for-profit project.
If you have any suggestions or encounter any problems, feel free to report them.
This project is made using the T3 Stack
Nextjs - React full-stack web framework
Typescript - Strongly typed JavaScript
Prisma - Next-generation Node.js and TypeScript ORM
TailwindCSS - Utility-first CSS framework
tRPC - End-to-end typesafe APIs made easy
Client state management: Zustand
Server state management: TanStack Query
Schema validation: Zod
Forms React Hook Form
Authentication: NextAuth
Ratelimit: Upstash Rate Limit
File uploads: Uploadthing
Code snippet editor: react-simple-code-editor
Markdown: markdown-to-jsx
Dates and times: Day.js
Notifications: React Hot Toast
To run this project, you will need to add the following environment variables to your .env file
Prisma
DATABASE_URL='https://your-database-url'
Next Auth
NEXT_AUTH_URL='https://your-url'
NEXT_AUTH_SECRET='your-secret'
Discord Provider
DISCORD_CLIENT_ID='your-discord-client-id'
DISCORD_CLIENT_SECRET='your-discord-secret'
GitHub Provider
GITHUB_CLIENT_ID='your-github-client-id'
GITHUB_CLIENT_SECRET='your-github-secret'
Upstash Redis
UPSTASH_REDIS_REST_URL='https://your-upstash-redis-rest-url'
UPSTASH_REDIS_REST_TOKEN='your-upstash-redis-rest-token'
** UploadThing**
UPLOADTHING_SECRET=""
UPLOADTHING_APP_ID=""
git clone https://github.com/marioperezhurtado/devforum.git
cd devforum
pnpm i