Skip to content

kallol-khatua/debate-box

Repository files navigation

DEBATEBOX

  1. DEBATEBOX
  2. DEBATEBOX is a dynamic online platform designed for hosting engaging and interactive debates. With a user-friendly interface and a robust set of features, DEBATEBOX revolutionizes the way debates are conducted and experienced. Whether you're a seasoned debater or just starting out, DEBATEBOX provides an inclusive environment for intellectual discourse and exchange of ideas.

    Key Features:

    1. Video Call Chatting: Seamlessly engage in face-to-face debates with integrated video call functionality. Experience real-time interactions and articulate your points effectively.

    2. User Dashboard: Access a personalized dashboard where users can manage their profile, track debate history, and stay updated on upcoming events.

    3. Personal Chats: Foster meaningful connections through private messaging. Initiate discussions, exchange thoughts, and build relationships with other users.

    4. Multi-format Debates: Host and participate in debates across various formats, including one-on-one, team debates, and panel discussions. Choose your preferred style and engage in lively exchanges.

    5. Tech Integration: Leveraging cutting-edge technologies such as MongoDB, EJS, Express.js, Node.js, HTML, CSS, JavaScript, Bootstrap, jQuery, Socket.io, and WebRTC, DEBATEBOX ensures a seamless user experience and robust performance.

    6. Real-time Communication: Utilize chat features and real-time updates to enhance communication during debates. Stay connected with fellow debaters and moderators effortlessly.

    7. Interactive Interface: Enjoy an intuitive and interactive interface designed to facilitate smooth navigation and effortless participation in debates.

    8. Secure Environment: DEBATEBOX prioritizes user privacy and security. With encrypted messaging and secure data storage, users can engage in debates with confidence.

    Tech Stack:

    • MongoDB: For efficient data storage and management.
    • EJS (Embedded JavaScript): For dynamic content generation.
    • Express.js: For building the web application framework.
    • Node.js: For server-side JavaScript execution.
    • HTML: For structuring the web pages.
    • CSS: For styling the user interface.
    • JavaScript: For client-side scripting.
    • Bootstrap: For responsive and mobile-first design.
    • jQuery: For simplifying client-side scripting.
    • Socket.io: For real-time bidirectional event-based communication.
    • WebRTC (Web Real-Time Communication): For enabling browser-to-browser communication.

Prerequisites:

Install node.js in your local system.

  • npm
    npm install npm@latest -g
  • nodemon
    npm install -g nodemon

Installation:

  1. Clone the repo

    git clone https://github.com/kallol-khatua/debate-box.git
  2. Install NPM packages

    npm install
  3. Enter your API in .env

    CLOUD_NAME=<Enter your cloudinary cloud name>
     CLOUD_API_KEY=<Enter your cloudinary cloud api key>
    CLOUD_API_SECRET=<Enter your cloudinary cloud api secret>
     ATLAS_URL=<Enter your mongodb atlas url>
     SECRET=<Enter your secret code>
     EMAIL_USER=<Enter your google email id>
     EMAIL_USER_NAME=<Enter your email username>
     EMAIL_PASS=<Enter your app password for nodemailer>
  4. Run

    npm run dev

License:

Distributed under the ISC License.