Project is Live - here
ReactWrite is a powerful and user-friendly Microblogging platform built with React and Django, allowing users to express themselves through posts, connect with others, and manage their profiles with ease. The project leverages modern web technologies and is deployed across Vercel and Render, with Neon Postgres as the database.
- JWT Authentication: Secure authentication using JSON Web Tokens.
- User Posts: Create, edit, and delete posts effortlessly.
- Social Interaction: Like posts, follow and unfollow other profiles.
- Profile Management: Update your profile, including adding a profile picture.
- Frontend: React, deployed on Vercel
- Backend: Django, deployed on Render
- Database: Neon Postgres
- Node.js
- Python 3.x
- Neon account (or simply uncomment default sqlite database and comment the Neon configuration in settings.py)
-
Local Setup:
-
Clone the repository:
git clone https://github.com/Rhythm1821/ReactWrite.git cd ReactWrite
-
-
Frontend Setup:
-
Navigate to the
frontend
directory and install dependencies:cd frontend npm install
-
Create a
.env
file in thefrontend
directory with the following variables:VITE_API_URL='http://localhost:8000'
-
Start the React development server:
npm run dev
-
-
Backend Setup:
-
Navigate to the
backend
directory and create a virtual environment:cd backend python3 -m venv venv source venv/bin/activate
-
Install the required Python packages:
pip install -r requirements.txt
-
Create a
.env
file in thebackend
directory with the following variables (If using Neon database):PGHOST= PGDATABASE= PGUSER= PGPASSWORD=
-
Run the Django development server:
python3 manage.py migrate python3 manage.py runserver
-
Go to localhost:5173 to view the frontend.
The frontend is deployed on Vercel, and the backend is deployed on Render. For detailed deployment instructions, refer to the documentation:
- Frontend (React): Vercel Deployment Docs
- Backend (Django): Render Deployment Docs
- Sign Up / Login: Register or log in to access the platform.
- Create a Post: Share your thoughts by creating a post.
- Edit / Delete a Post: Modify or remove your posts anytime.
- Like / Follow: Engage with other users by liking posts and following profiles.
- Profile Management: Update your profile information and add a profile picture.
For questions or support, please reach out at [email protected].