Skip to content

tanvirrahmanaz/Dev-Synapse-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Dev-Synapse: A Modern MERN Stack Forum (Client Side)

Welcome to the client-side repository of Dev-Synapse, a modern and feature-rich developer forum built using the MERN stack. It enables real-time interaction, role-based access, and an engaging UI/UX for tech communities.

🌐 Live Site: Live Link

πŸ› οΈ Server Code: Server Side


🧩 Key Features

🟦 General Features

  • πŸ” Authentication: Firebase-powered login (Email/Password + Google)
  • 🏠 Dynamic Homepage: Posts listed with pagination (5 per page), newest first
  • 🏷️ Tag-Based Search: Filter posts by relevant tags
  • πŸ”₯ Popularity Sort: Sort posts based on score (upvotes - downvotes)
  • πŸ“„ Post Details: View post content, votes, and comments
  • πŸ‘ Advanced Voting: Vote once, undo, or switch vote (YouTube-style)
  • πŸ’¬ Comments: Authenticated users can comment on any post
  • 🚨 Reporting: Report posts/comments for admin review
  • πŸ”— Social Sharing: Share posts via Facebook, WhatsApp, etc.
  • πŸ“’ Announcements: Admin messages shown with navbar badge for unseen ones
  • πŸ“± Responsive UI: Fully optimized for all screen sizes

πŸ‘€ User Dashboard (Private)

  • πŸ§‘ My Profile: Name, image, email, badge (Bronze/Gold), 3 latest posts
  • βž• Add Post: Rich post form; Bronze: max 5 posts, Gold: unlimited
  • πŸ“‹ My Posts: View/delete your posts, see related comments
  • πŸ’³ Membership: Upgrade to Gold with Stripe-powered secure checkout

πŸ›‘ Admin Dashboard (Role-Protected)

  • πŸ“Š Analytics: View total users, posts, and comments (Pie chart)
  • 🏷️ Tag Management: Add or remove site-wide tags
  • πŸ‘₯ Manage Users: Filter/search by name/email, update roles
  • πŸ“’ Make Announcement: Post updates across the site
  • 🧾 Reported Activities: View all reported content and take action

βš™οΈ Technologies Used

Category Tools Used
Frontend Core React, Vite
Routing React Router DOM
Styling Tailwind CSS, DaisyUI
State Management TanStack Query (React Query)
API Handling Axios (custom hooks for public & private requests)
Authentication Firebase
Forms React Hook Form
Notifications React Hot Toast, SweetAlert2
Icons & Charts React Icons, Recharts
Social Sharing React Share
Payments Stripe.js, React Stripe.js

πŸ›  Local Setup

Follow these steps to run the project locally:

# 1. Clone the repo
git clone https://github.com/your-username/your-client-repo.git

# 2. Move into project directory
cd your-client-repo

# 3. Install dependencies
npm install

# 4. Start development server
npm run dev

App will be live at: http://localhost:5173

πŸ” Environment Variables Create a .env.local file in the root of your project and add the following:

# Backend URL
VITE_API_URL=http://localhost:5000

# Firebase Config
VITE_APIKEY=your_firebase_apikey
VITE_AUTHDOMAIN=your_firebase_authdomain
VITE_PROJECTID=your_firebase_projectid
VITE_STORAGEBUCKET=your_firebase_storagebucket
VITE_MESSAGINGSENDERID=your_firebase_messagingsenderid
VITE_APPID=your_firebase_appid

# Stripe
VITE_STRIPE_PUBLISHABLE_KEY=pk_test_...your_key...

# ImgBB
VITE_IMGBB_API_KEY=your_imgbb_api_key
⚠ Note: This is the client-side app. You must also run the server-side for full functionality.

🀝 Contributing Contributions are welcome! Please fork the repo, create a feature branch, and submit a pull request.

πŸ“„ License Licensed under the MIT License.

About

πŸ’¬ A modern, fully-featured MERN Stack forum application built for developers. Includes Firebase auth, dynamic post feeds, upvoting/downvoting, comment system, role-based admin dashboard, Stripe payments, and more.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages