Skip to content

Dev-Arijit/ChatterSpace

 
 

Repository files navigation

🧵 ChatterSpace – Reimagining Modern Community Conversations

Welcome to ChatterSpace — our mission is to build a modern, open-source, Discord-like experience tailored for community-driven platforms, remote collaboration, and knowledge-sharing spaces.
We’re developing a scalable, modular, and real-time conversations platform that can be integrated directly into other applications or run as a standalone service.

⭐ If you’re interested in this project, don’t forget to Star this Repository to show your support!


OSCI-Project-Banner.png

🧠 Goal

Our objective is to design and develop a fully functional real-time chat & discussions system that goes beyond traditional apps like Discord.
This feature will support structured conversations, threading, roles & permissions, moderation tools, and seamless integration with other app modules — not only via APIs but also via direct code embedding.


📦 High-Level Features

  • Channels & Threads (text-based)
  • Markdown + Code Snippet Support
  • Threaded Replies
  • Mentions & Notifications
  • Real-time Messaging (Socket.io/WebSockets)
  • Moderation & Permissions
  • Community-Specific Rooms
  • File & Image Sharing
  • Message Reactions & Polls
  • Light/Dark Mode
  • Mobile & Desktop Responsiveness
  • Integratable via API or Direct Code Modules

📁 Expected Folder Structure

Once implemented, the project will follow this modular structure:

Frontend Folder Structure

client/
├─ public/
│  └─ vite.svg
├─ src/
│  ├─ assets/
│  │  └─ react.svg
│  ├─ components/
│  │  ├─ about.jsx
│  │  ├─ chatbot.jsx
│  │  ├─ footer.jsx
│  │  ├─ Footer.md
│  │  ├─ navbar.jsx
│  │  ├─ ScrollToTop.jsx
│  │  ├─ ScrollToTopLink.jsx
│  │  └─ testimonilas.jsx
│  ├─ pages/
│  │  ├─ AboutPage.jsx
│  │  ├─ AuthPage.jsx
│  │  ├─ ChatPage.jsx
│  │  ├─ CodeOfConductPage.jsx
│  │  ├─ ContributingPage.jsx
│  │  ├─ DocumentationPage.jsx
│  │  ├─ FeatureRequestsPage.jsx
│  │  ├─ FeaturesPage.jsx
│  │  ├─ GettingStartedPage.jsx
│  │  ├─ IssuesPage.jsx
│  │  ├─ LandingPage.jsx
│  │  ├─ LicensePage.jsx
│  │  ├─ login.jsx
│  │  ├─ PrivacyPolicyPage.jsx
│  │  ├─ signup.jsx
│  │  ├─ TechStackPage.jsx
│  │  └─ TermsOfServicePage.jsx
│  ├─ App.css
│  ├─ App.jsx
│  ├─ index.css
│  ├─ main.jsx
│  └─ theme.css
├─ temp-client/
│  ├─ public/
│  │  └─ vite.svg
│  ├─ src/
│  │  ├─ assets/
│  │  │  └─ react.svg
│  │  ├─ App.css
│  │  ├─ App.jsx
│  │  ├─ index.css
│  │  └─ main.jsx
│  ├─ .gitignore
│  ├─ eslint.config.js
│  ├─ index.html
│  ├─ package-lock.json
│  ├─ package.json
│  ├─ README.md
│  └─ vite.config.js
├─ .env.example
├─ .gitignore
├─ App.jsx
├─ eslint.config.js
├─ index.html
├─ package-lock.json
├─ package.json
├─ postcss.config.js
├─ README.md
├─ tailwind.config.js
└─ vite.config.js

Backend Folder Structure

server/
├─ config/
│  ├─ db.js
│  └─ emailConfig.js
├─ controllers/
│  └─ authController.js
├─ middleware/
│  └─ auth.js
├─ models/
│  └─ User.js
├─ routes/
│  └─ authRoutes.js
├─ .env.example
├─ .gitignore
├─ eslint.config.mjs
├─ package-lock.json
├─ package.json
└─ server.js

Note: This repo currently contains only the README, contribution guide, and templates. All folders will be created during development milestones.


🏁 Getting Started

✅ Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn
  • MongoDB (local or hosted)
  • Git
  • Basic knowledge of REST APIs, Socket.IO/WebSockets, and React

🌟 How to Contribute

We welcome contributions from everyone! Please follow these steps:

1. ⭐ Star this Repository

Click the Star button at the top-right of this page.

2. 🍴 Fork the Repository

Click the Fork button on the top-right to create your copy.

3. 🧑‍💻 Clone Your Fork

git clone https://github.com/YOUR_USERNAME/chattersapce.git
cd chattersapce

4. 🚀 Set Up Environment

cp .env.example .env
npm install

5. 🔧 Create a New Branch

git checkout -b feat/your-feature-name

6. 💡 Work on Your Feature

Follow the folder structure and keep code modular.

7. ✅ Commit Your Changes

git add .
git commit -m "feat: add initial structure for XYZ"

8. 📤 Push and Open a PR

git push origin feat/your-feature-name

Then open a Pull Request on GitHub.


🧰 Tech Stack (Planned)

Layer Tech
Frontend React + vite, TailwindCSS
Backend Node.js, Express.js, MongoDB
Real-time Socket.IO
Auth JWT / Custom Auth System
Hosting Render / Vercel / MongoDB Atlas

📌 Contribution Guidelines

  • Follow the Contributing Guide
  • Keep PRs focused and atomic
  • Write clear commit messages
  • Prefer modular, clean code
  • Add comments and documentation

📮 Communication

  • GitHub Issues for bug reports and discussions

📄 License

This project is open-source and available under the MIT License.

🚀 Local Setup Instructions

Follow these steps to run the project locally:

  1. Run these commands in terminal
    git clone https://github.com/Chanchal2004/ChatterSpace.git
    cd ChatterSpace
    npm install
    npm run dev
    

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.0%
  • CSS 1.7%
  • HTML 0.3%