Skip to content

wangcarson/reddit-clone

Repository files navigation

Reddit

A Reddit clone built from scratch using React, Firebase, Next.js, Chakra UI, and TypeScript. The application features both front and back end development, including user authentication, Firestore database, cloud functions, security rules, Transactions, deployment, and more.

Created using a YouTube video tutorial from freeCodeCamp.org.

App Requirements

The app was built using Next.js, React.js, Firebase, Chakra UI, TypeScript, and Recoil. Setup for these frameworks is required for the functionality of the app.

Getting Started with Next.js

This is a Next.js project bootstrapped with create-next-app. To get started, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

Required Installations

The following npm installations are required to run this project.

  • Chakra Setup: npm i @chakra-ui/react @chakra-ui/next-js @emotion/react @emotion/styled framer-motion
  • Fonts and icons: npm i @fontsource/open-sans @chakra-ui/icons react-icons
  • Firebase: npm i firebase react-firebase-hooks
  • Recoil: npm i recoil
  • Extras: npm i moment safe-json-stringify

Chakra UI

Chakra UI was used for designing the UI of the project. The documentation for Chakra components used in this project are found below:

Recoil

Recoil was used for global state management. Read the documentation below:

Firebase

Firebase was used for user authentication, with the aid of react-firebase-hooks.

Bug Fixes

Module not found: Can't resolve 'encoding' in '@\node_modules\node-fetch\lib'

Solution: npm install encoding

npm i safe-json-stringify

About

Reddit Clone with added features.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published