This is a clone of social media website (i.e Threads by Meta). This is part of project along TheOdinProject course.
Live DEMO :
- FrontEnd : https://odin-mini-threads.netlify.app/
- Backend + Database: https://odin-odin-book.onrender.com/
Current feature:
- basic Create & Read of Posts
- basic Create & Read of Comments
- photo upload as post / avatar
- User Auth with Github
- user-following
- post-liking
Tech Stack:
- Front end : Next.js, React, TailwindCSS, shadcn/ui
- Back end : Node Express, PassportJS, Prisma ORM, PostgreSQL, Supabase
Test:
- Backend API : JEST
Repo:
- front end : https://github.com/WongYC-66/odin-mini-threads-FE
- back end : https://github.com/WongYC-66/odin-mini-threads
- Have postgreSQL and Node installed
- Register an Outh app at Github, and get CLIENT_ID and CLIENT_SECRET from https://github.com/settings/developers
- Register an account at supabase to store uploaded image from https://supabase.com/, to get SUPABASE_PROJECT_URL and SUPABASE_API_KEY
- Clone the backend repo
- npm install
- Create .env file like .env-sample
- Populate fake database by, npm run resetDB
- npm run dev
- [optional] npm run test
- in your supabase -> storage, create a bucket name "everything", set to Public
- Clone the fronend repo
- npm install
- Create .env file like .env-sample, use the same NEXT_PASSWORD
- modify API_URL to your BE url at /app/lib/apiUrl.js
- npm run dev
- visit at http://localhost:3000
