How to Set Up and Use SocialEcho: A Comprehensive Guide

Sep 8, 2021 | Programming

Welcome to the official guide on setting up and using SocialEcho, a robust social networking platform that combines automated content moderation and context-based authentication. Whether you’re an admin, a moderator, or a general user, this article will provide you with the necessary steps and troubleshooting tips to navigate the functionalities of SocialEcho efficiently.

Table of Contents

Project Overview

SocialEcho leverages the MERN (MongoDB, Express.js, React.js, Node.js) stack to deliver a user-friendly experience. It presents an automated content moderation system integrated with context-based authentication. Key features include user profile creation, post sharing, liking comments, and managing followers.

Automated Content Moderation

To ensure a safe environment, SocialEcho employs multiple NLP (Natural Language Processing) APIs:

  • Perspective API: Filters unwanted content like spam, toxicity, and harassment.
  • TextRazor API: Helps categorize content effectively.
  • Hugging Face Interface API: Utilizes BART Large MNLI model for classification.

Imagine this system as a security guard at a party. Each time someone brings in a new guest (a post), the guard examines them (the content) against a list of criteria (community guidelines). If they match and seem like a good fit, they are allowed in. If not, they are either rejected or sent for additional review, ensuring that everyone attending the party is compliant with the rules.

Context-Based Authentication

The platform incorporates an advanced security feature. It evaluates user location, IP address, and device information to safeguard accounts. This is similar to how a bouncer checks ID at the entrance of an exclusive club. If someone suspicious tries to enter, they’re immediately flagged, and the account owner receives a notification to verify their identity.

Features

  • User authentication and authorization (JWT)
  • User profile creation and management
  • Post creation and management
  • Commenting on posts
  • Liking posts and comments
  • Following/unfollowing users
  • Reporting posts
  • Content moderation
  • Context-based authentication
  • Device management
  • Admin dashboard
  • Moderator dashboard
  • Email notifications

Technologies

  • React.js
  • Redux
  • Node.js
  • Express.js
  • MongoDB
  • Tailwind CSS
  • JWT Authentication
  • Passport.js
  • Nodemailer
  • Crypto-js
  • Azure Blob Storage
  • Flask
  • Hugging Face Transformers

Schema Diagram

Schema Diagram

Getting Started

Prerequisites

To start with SocialEcho, ensure you have the following installed:

  • Node.js
  • MongoDB or MongoDB Atlas account

Installation

  1. Clone the repository:
    bash
    git clone https://github.com/nz-mSocialEcho.git
  2. Go to the project directory and install dependencies for both client and server:
    bash
    cd client
    npm install
    cd server
    npm install
  3. Create a .env file in both the client and server directories and add the environment variables as shown in the .env.example files.
  4. Start the server:
    bash
    cd server
    npm start
  5. Start the client:
    bash
    cd client
    npm start

Configuration

Run the admin_tool.sh script from the server directory to configure admin accounts, create communities, and set other specifications:

bash
./admin_tool.sh

.env Variables

The following variables are required for email services and content moderation:

bash
EMAIL=
PASSWORD=
EMAIL_SERVICE=
PERSPECTIVE_API_KEY=
INTERFACE_API_KEY=
TEXTRAZOR_API_KEY=

For API keys, refer to their respective documentation:

Note: The moderation and authentication features can be run without specific configurations, albeit without their functionalities.

Usage

Admin

Access the admin dashboard at the admin route, utilizing the admin_tool.sh script to configure admin accounts. Admins manage moderators and communities and can control API services from the dashboard.

Moderator

Moderators should register using an email with the domain @mod.socialecho.com to gain automatic assignment as a moderator. They can oversee different communities from the admin dashboard.

License

This project is licensed under the MIT License.

Troubleshooting

If you encounter issues during any steps, check the following:

  • Ensure all dependencies are correctly installed.
  • Verify your .env files for any missing or incorrect entries.
  • Check logs in both server and client terminals for specific error messages.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox