x5engine / reddit-clone

Full stack reddit clone built with React, Redux, Node.js, Express, and PostgreSQL

Home Page:https://weddit.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

weddit

Full stack reddit clone built with React, Redux, Node.js, Express, and PostgreSQL.

Deployed at https://weddit.netlify.app/

Note: The backend is hosted on heroku free tier (https://weddit-backend.herokuapp.com/), which may lead to slow cold starts.

Features

  • JWT authentication
  • Create, update, and delete posts and comments
  • Upvote/downvote posts and comments
  • Nested comments threading
  • Home page feed (front page)
  • Subreddit specific feed
  • Create subreddits
  • Light and dark mode
  • ... and more to come!

Screenshots

Comments page for a post

Installation

  1. Clone this repository
git clone https://github.com/tacticaltofu/reddit-clone.git
cd reddit-clone
  1. Install backend dependencies
cd backend
npm install
  1. Install frontend dependencies
cd frontend
npm install
  1. Create config folder in the backend
cd backend
mkdir config
  1. Configure environment variables. Create a dev.env file in the config folder, and paste the following (filling in your own postgres password and JWT secret)
PORT=5000
PG_HOST=localhost
PG_PORT=5432
PG_DBNAME=reddit-clone
PG_USER=postgres
PG_PASSWORD=<YOUR_PASSWORD>
JWT_SECRET=<YOUR_SECRET>

  1. Create a postgres database named 'reddit-clone'

  2. Run the database migrations

cd backend
npm run db-migrate up

Usage

  1. Start server
cd backend
npm run dev
  1. Start client
cd frontend
npm start

About

Full stack reddit clone built with React, Redux, Node.js, Express, and PostgreSQL

https://weddit.netlify.app/


Languages

Language:JavaScript 94.0%Language:PLpgSQL 4.6%Language:HTML 1.4%Language:Shell 0.0%