Welcome to React Blog, an exciting application selected for Social Winter of Code 2025 (SWOC-2025) alongside with Innogeeks Winter of Code 3.0 2025!
This project is an open-source initiative aimed at building a robust and feature-rich blogging platform. We welcome contributors from all backgrounds to collaborate and make this project a success. If you like what you see, please consider giving this repository a star! ๐ฅ
Tool |
---|
TailwindCSS |
ExpressJS |
ReactJS |
MongoDB |
NodeJS |
Vite |
Follow these steps to set up the project locally:
Ensure you have the following installed:
Clone the repository:
git clone https://github.com/OkenHaha/react-blog.git
Navigate into the project directory:
cd react-blog
Install dependencies for both frontend and backend:
cd front-end
npm install
cd ../back-end
npm install
Set up the .env
file:
Navigate to the back-end
directory.
Create a .env
file.
Add the following environment variables to the .env
file:
CONNECTION_URL="your-mongodb-connection-url"
PORT=8080
JWT_SECRET="your-jwt-secret"
SECRET_KEY="your-secret-key"
MAIL_HOST="smtp.gmail.com"
MAIL_USER="[email protected]"
MAIL_PASS="your-email-passkey"
Example for local testing:
CONNECTION_URL="mongodb://localhost:27017"
PORT=8080
JWT_SECRET="test-secret"
SECRET_KEY="test-secret-key"
MAIL_HOST="smtp.gmail.com"
MAIL_USER="[email protected]"
MAIL_PASS="test-passkey"
Change the baselink for the server
baselink.js
filehttp://localhost:8080
Start the development server and also for the frontend:
cd back-end
npm run dev
cd front-end
npm run dev
Open the application in your browser:
http://127.0.0.1:5173/
http://localhost:8080
Weโre thrilled to have you contribute to this project! Please follow these steps to get started:
git checkout -b your-branch-name
git push origin your-branch-name
main
branch of this repository.CONTRIBUTING.md
file for detailed contribution rules.Currently there are few labels being used for SWOC2025 and new commers to this repo needs help in explaining the labels and how they are assigned:-
level 1
This label is assigned for issues that mostly handle with frontend and API callslevel 2
This label is assigned for issues that requires CRUD operations to be made (e.g. adding new database schema, adding GET, POST, DELETE, etc. request to the database)level 3
This label is assigned for issues that requires system design, understanding the code architecture, etc. This is for high level issue that understands the whole code structure of the project.SWOC
This label is used to track for SWOC2025 contributions being madeIWOC2025
This label is used to track for IWOC contributiosn being madeEasy
This label is used for easy issues and PR for IWOC2025Medium
This label is used for intermediate issues and PR for IWOC2025Hard
This label is used for advance issues and PR for IWOC2025bug
enhancement
documentation
good first issue
duplicate
help wanted
wontfix
invalid
are common labels issued by GitHub which will be used according to their label namesMy label system might look hard but this is to make sure that my contributors to this project learn and get skilled enough that they will get a well paid job for their careers. I hope this encourages you to learn more, contribute meaningful contribution for yourself and not feel discouraged by others. I'm looking forward to what amazing and exiciting contribution you can make. Cheers!