QXAPHP – Social Question And Answer Platform PHP

Overview

QXAPHP – social platform, which allow users to ask and answer in topics which they are interested in. Application is build in PHP under MVC structure.
It works similar to Quora, where based on your interests (topics) you can ask and answer questions.

Features

Questions:

  • Ask – users can ask questions with images and description. Also, can add up to 5 topics to one question. Each question costs set number of points.
  • Follow – users can follow any question to be notified about new answers or access questions from followed questions page.
  • Close – users can close own questions in case if they do not want to get more answers.
  • Hide – each user can hide any question from stream. This question will not more appear for this user, but will appear for others.
  • Report – users can report bad questions for moderator’s review.
  • Labels – each question has colourful labels for unanswered, followed, closed and own questions.
  • Votes – users can vote for better or worse questions. Questions with negative number of votes are hidden in stream.
  • Sorting – users can view questions in stream sorted by newest, most viewed or most voted.

Answers:

  • Add – users can add answers using Quill rich editor, which allow them to customize text how they will want.
  • Votes – users can upvote or downvote answers.
  • Report – users can report bad answers for moderation.
  • Sorting – users can sort answers by newest or most voted.
  • Points – users can earn points for voted answers.

Notifications:

  • Account notifications – users are notified about new answers or mentions.
  • Email notifications – users can receive email notifications. They also can disable that option under account’s settings.
  • CRON email notifications – instead of hundred emails – set cron which will collect all notifications in one hour and send them to user.

Admin panel:

  • Reports review. Choose which questions and answers should be removed.
  • Pages option. Add new pages without coding them, such as terms or contact information pages.
  • Topics, users, questions, answers management. Add, edit and delete them.
  • Settings. Edit application settings without editing php files.
  • Ban users and blacklist words options.

User profiles with points ranking, user’s questions and answers list.
2 spots for advertising and a lot of other things.

Requirements

  • Web server with PHP 7+
  • PDO extension enabled
  • Rewrite module for Apache enabled
  • Composer installed (for Composer version)
  • CRON (for cron email option)
  • SMTP or Mailgun (for sending emails)

Instructions

  1. Upload all files to your web server through FTP (Usually public_html folder).
  2. Create new database, which will be used by application.
  3. Import the qxaphp.sql file from the root folder into your MySQL database using the import function available in MySQL.
  4. With any text editor open the following file located inside the ‘App’ folder: Config.php, and set your MySQL settings:
     const DB_NAME = '';  <- Your database name (from 2nd step) const DB_USER = '';  <- Your database user const DB_PASSWORD = '';  <- Your database password                                  
  5. Set the CHMOD to 777, 775 or 755 (depending on the server configuration) to the following folders: ‘/logs’‘/public/media/images/’.
  6. If you are using Composer’s version – run:
     composer install     

Related