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
Getting Started
Prerequisites
To start with SocialEcho, ensure you have the following installed:
- Node.js
- MongoDB or MongoDB Atlas account
Installation
- Clone the repository:
bash git clone https://github.com/nz-mSocialEcho.git - Go to the project directory and install dependencies for both client and server:
bash cd client npm install cd server npm install - Create a .env file in both the client and server directories and add the environment variables as shown in the .env.example files.
- Start the server:
bash cd server npm start - 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.

