Welcome to The-Code-Whisperers, a dedicated platform for coding enthusiasts to share their ideas and insights into the latest technologies shaping the industry. Whether you're passionate about web development, AI, blockchain, or any other tech domain, this platform provides a space for you to articulate your thoughts and connect with like-minded individuals
newtru.mp4
- Reactjs
- Tailwind
- Express
- AWS (EC2)
- Nodejs
- Prisma
- Postgres
- Cloudinary
- Zod
- Secure login and registration using JWT authentication
- Easy-to-use interface for creating blog posts.
- Support for uploading and embedding images using Cloudinary and Multer.
- Data validation and integrity ensured with Zod.
- Integration of Quinn Text Editor
- GPT-3.5 Integration
- Enable interactive discussions with threaded comments
- Search Blog Functionality
- Upvote and Bookmark Blogs
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/abbi4code/The-Code-Whisperers.git
cd The-Code-Whisperers
Installation
Install the project dependencies using npm:
In both server and Client
npm install
Set Up Environment Variables
- Create a copy of .env.example and name the file
.env
in the server folder - Set up Postgres DATABASE_URL in .env file. You can get a free PostgreSQL connection string from Aiven.io or Neon.tech.
Your env file should look like this
DATABASE_URL=""
JWT_SECRET=""
CLOUD_NAME=""
API_KEY=""
API_SECRET=""
Run the following cmds
npm run prisma:migrate
npx prisma generate
npm run dev
-
npm run prisma:migrate
applies database migrations to sync your database schema with your Prisma schema. -
npx prisma generate
generates TypeScript typings based on your Prisma schema -
Your can get the cloudinary credentials by creating a new account. Cloudinary
Note:
frontend/src/config.ts
containsbackendurl
. If you need your frontend to point to local backend server, uncomment `export const backendurl = "http://localhost:3000/api/"
Running the Project
npm run dev
Open http://localhost:5173 in your browser to view the project.