A community forum web app built with React, featuring user authentication, community discovery, discussions with nested comments, upvoting/downvoting, and profile management.
- User Authentication with protected routes and auth redirect hooks
- Community Discovery with tag filtering and joining communities
- Top Communities display with member counts
- Create Community page to allow users to start new communities
- Discussion Threads with nested comments and replies up to 3 levels
- Voting System for upvoting/downvoting discussions and comments
- Profile Sidebar for viewing and editing user profile info
- Responsive UI with Framer Motion animations and Material UI components
- Toast notifications with MUI Snackbar and Alert
- MongoDB – NoSQL database for storing users, communities, discussions, and comments
- Express.js – Backend web framework for REST API development
- React – Frontend library for building user interfaces with functional components & hooks
- Node.js – JavaScript runtime environment for backend server
- React Router DOM – Client-side routing/navigation
- Framer Motion – Animations and gesture support in React
- Material UI – Component library for React UI elements and icons
- Lucide React – Icon library used alongside Material UI
- Axios or Fetch API – For making HTTP requests to backend
- CSS Modules – Scoped CSS styling for React components
-
Clone the repository:
git clone https://github.com/Dubuu03/CSUForum.git
-
Install dependencies:
npm install
-
Configure environment variables
-
Run the development servers:
Open two terminals:
-
In the backend folder:
cd backend npm run dev -
In the frontend folder:
cd frontend npm run dev
-
-
Open the app in your browser:
Visit http://localhost:5173
-
Build the app for production (optional):
npm run build