codetipster / CESAID

Official CESAID community platform with over 2k daily users

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

This Community Platform is designed to facilitate democratic participation in a digital community. It allows users to register, submit candidacies for various positions, review candidates, and vote. Built with a React frontend, Node.js backend, and MongoDB database, this platform emphasizes user engagement and real-time feedback.

Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js
  • MongoDB
  • Git
  • Installation

Clone the Repository:

    git clone [repository URL] 
    cd community-platform

Set Up the Backend:

  • Navigate to the backend directory:

     cd backend
    
  • Install the dependencies:

      npm install
    

Set Up the Frontend:

  • Navigate to the frontend directory in a separate terminal window:

      cd frontend
    
  • Install the dependencies:

      npm install
    

Environment Variables

Create a .env file in the backend directory and include the following variables:

    `MONGODB_URI`: Your MongoDB connection string.
    `SECRET_KEY`: A secret key for JWT token encryption.

Running the Application

  • Start the Backend Server

      npm start
    
  • Start the Frontend Application

    In the frontend directory:

      npm start
    
    • This will launch the React application on localhost:3001.

Contributing

We welcome contributions to this project. Here's how you can contribute:

  • Fork the Repository Click the "Fork" button at the top right of this page.

  • Create a Branch Create a branch for your feature or fix from main.

  • Make Your Changes Implement your feature or fix.

  • Commit Your Changes Write clear and concise commit messages.

  • Push to the Branch Push your changes to your fork.

  • Create a Pull Request Open a pull request against our main branch. Describe your changes and the impact they make.

Guidelines

  • Ensure code is well-documented and follows the project's coding conventions.

  • Write tests for new features and ensure all tests pass.

  • Update the README if necessary to reflect new changes or additional setup instructions.

About

Official CESAID community platform with over 2k daily users


Languages

Language:JavaScript 92.3%Language:CSS 4.1%Language:HTML 3.6%