This Tech Blog App is designed for tech enthusiasts, engineers, designers, and anyone in the tech community to collaborate and share tech-related blogs across various categories. Whether it's about front-end development, back-end architecture, UI/UX design, system design, interview tips, or anything related to the tech world, this platform fosters a space for learning and collaboration.
Categories: Blogs are organized into different categories such as front-end, back-end, UI/UX, system design, interview preparation, and more.
- Browse and Filter Blogs
- Create New Blog
- Like and Comment on Blogs
- Upload Images Using Upload Thing
- Blog Content Text Editor
- Authentication Using Clerk
- Next.js: Utilized as the fundamental framework for building a React-based web application.
- MongoDB: Database management for efficient data storage and retrieval.
- Prisma: Facilitating the database interactions and management, ensuring smooth data operations.
- Tailwind CSS: Employed for a utility-first CSS framework, enabling responsive and streamlined UI development.
- Shadcn Component Library: Used for pre-built components, aiding in consistent and efficient UI development.
- Upload Thing: Implemented for seamless image uploading functionalities.
To start developing:
git clone https://github.com/bettjesse/tech-blog.git npm install This application requires certain environment variables to be set up in a .env file in the project root directory. Below are the variables and their purposes:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
DATABASE_URL=Add MongoDB Database
npx prisma generate
npx prisma db push
npm run devRunning commands with npm npm run [command]
| command | description |
|---|---|
dev |
Starts a development instance of the app |
Contributions are welcome! Whether it's bug fixes, feature enhancements, or additional categories for the blog, feel free to contribute by submitting pull requests. Please adhere to the existing code style and conventions.