Skip to content

karimshaban01/community_forums

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Community Forums Documentation

Overview

The Community Forums is a PHP-based platform designed to facilitate communication between community members and their leaders. It provides a centralized platform where users can share ideas, raise concerns, and engage in discussions about various issues affecting their community. This platform is location-based, allowing for tailored communication and interaction within specific communities.


Features

User Features

  • User Registration and Login: Secure system for community members to create accounts and log in.
  • Discussion Threads: Create, view, and participate in discussion threads on community-related topics.
  • Commenting System: Post comments to contribute to discussions.
  • Search Functionality: Search for specific threads or topics.
  • Profile Management: Update user profiles with personal details and preferences.
  • Location-Based Features: Tailored threads and discussions based on the user’s location.

Admin Features

  • User Management: Add, edit, or remove users.
  • Thread Moderation: Approve, edit, or delete discussion threads and comments.
  • Community Management: Define and manage communities (locations).
  • Reports and Analytics: Generate reports on user activity and trending discussions.

Tech Stack

The platform is built with the following technologies:

  • PHP (50.2%): Backend logic and functionality.
  • CSS (17.2%): Styling and layout.
  • HTML (13.8%): Structure and content of web pages.
  • Hack (12.7%): Enhancements to PHP for improved performance and type safety.
  • JavaScript (6.1%): Interactive features and dynamic content on the frontend.

Prerequisites

To run the Community Forums platform locally, ensure the following software is installed:

  • PHP (>=7.4): For running the backend.
  • MySQL: Database for managing users, threads, and comments.
  • Web Server: Apache or Nginx.
  • Composer: For managing PHP packages (optional but recommended).
  • Node.js & npm: For managing frontend dependencies (optional).

Installation and Setup

1. Clone the Repository

git clone https://github.com/karimshaban01/community_forums.git
cd community_forums

2. Configure the Database

  1. Create a new database in MySQL:
    CREATE DATABASE community_forums_db;
  2. Import the database schema:
    • Locate the community_forums_schema.sql file in the repository.
    • Execute the SQL script to set up the required tables:
      mysql -u your_username -p community_forums_db < community_forums_schema.sql
  3. Update the database credentials in the configuration file:
    // Example: config/DatabaseConfig.php
    $DB_HOST = 'localhost';
    $DB_NAME = 'community_forums_db';
    $DB_USER = 'your_username';
    $DB_PASSWORD = 'your_password';

3. Set Up the Web Server

  1. Place the repository in your web server's root directory:
    • For Apache: /var/www/html/community_forums
    • For Nginx: /usr/share/nginx/html/community_forums
  2. Start the web server:
    sudo service apache2 start

4. Run the Application

  • Open your browser and navigate to http://localhost/community_forums.

File Structure

Here is an overview of the key directories and files in the repository:

community_forums/
├── index.php             # Main entry point for the platform
├── admin/                # Admin panel for managing the platform
│   ├── users.php         # User management
│   ├── threads.php       # Thread moderation
│   ├── reports.php       # Reports and analytics
├── user/                 # User-facing application
│   ├── threads.php       # View and create threads
│   ├── comments.php      # Commenting system
│   ├── profile.php       # User profile management
├── assets/               # CSS, JavaScript, and image files
│   ├── css/              # Stylesheets
│   ├── js/               # JavaScript files
│   └── images/           # Images used in the platform
├── config/               # Configuration files (database, settings)
├── community_forums_schema.sql # Database schema
├── README.md             # Documentation
└── LICENSE               # License information

Usage

For Users

  1. Register and Log In:
    • Create an account by providing basic details.
    • Log in to access the platform.
  2. Join Discussions:
    • Browse or search for threads based on your community or interests.
    • Create new threads or participate in existing ones by commenting.
  3. Manage Profile:
    • Update your profile information, including your location, to access location-based discussions.

For Admins

  1. Log In to Admin Panel:
    • Access the admin panel using your credentials.
  2. Manage Users:
    • Add, edit, or remove users.
  3. Moderate Discussions:
    • Approve or delete threads and comments.
  4. Generate Reports:
    • View reports on platform activity and trends.

Contribution Guidelines

We welcome contributions to enhance the Community Forums platform. Here’s how you can contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Make your changes and commit them:
    git commit -m "Description of changes"
  4. Push the changes to your fork:
    git push origin feature-name
  5. Open a pull request to the main branch.

License

This project is licensed under the MIT License.


Support

If you encounter any issues or have suggestions for improvement, feel free to:

  • Open an issue in the GitHub Issues section.
  • Contact the project maintainer directly.

About

A platform where communities can share their ideas based on their location.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published