Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
api.blastastic.com
/
blastastic-complete
/
Filename :
README.md
back
Copy
# Blastastic A comprehensive social media management platform that enables users to schedule, publish, and manage content across multiple social media platforms from a single dashboard. ## Features - **Multi-Platform Support**: Manage content across Instagram, Facebook, Twitter/X, Threads, TikTok, Pinterest, Reddit, & YouTube - **Scheduled Publishing**: Schedule posts in advance with automated publishing - **Media Management**: Upload and manage images, videos, and other media assets via AWS S3 - **OAuth Integration**: Secure authentication with all major social media platforms - **Real-time Updates**: Socket.io integration for live notifications and updates - **Job Scheduling**: Agenda-based job queue for reliable post scheduling - **User Authentication**: JWT-based authentication with session management ## Tech Stack ### Backend - **Runtime**: Node.js with TypeScript - **Framework**: Express.js - **Database**: MongoDB (with Mongoose ODM) - **Authentication**: JWT, OAuth 2.0 - **Job Queue**: Agenda - **File Storage**: AWS S3 - **Real-time**: Socket.io ### Frontend - **Framework**: Next.js - **API Communication**: Axios ## Prerequisites - Node.js (v16 or higher) - MongoDB (local or cloud instance) - AWS Account (for S3 storage) - API credentials for supported social media platforms ## Installation ### Backend Setup 1. Clone the repository: ```bash git clone <repository-url> cd exp-backend ``` 2. Install dependencies: ```bash npm install ``` 3. Create a `.env` file in the root directory and configure the following variables: ```env # Security JWT_SECRET=your_secret_key JWT_EXPIRES_IN=90d COOKIE_EXPIRE=1 # SMTP Configuration SMTP_HOST=your_smtp_host SMTP_PORT=587 SMTP_USER=your_smtp_user SMTP_PASS=your_smtp_password SMTP_FROM=your_email@domain.com # Database MONGO_URI=your_mongodb_connection_string # Server PORT=8000 NODE_ENV=development # URLs HOST_URL=http://localhost:8000 FRONTEND_URL=http://localhost:3000 # Social Media API Credentials # (See Environment Variables section for complete list) ``` 4. Start the development server: ```bash npm run dev ``` ### Frontend Setup 1. Navigate to the frontend directory 2. Install dependencies: ```bash npm install ``` 3. Create a `.env.local` file: ```env NEXT_PUBLIC_BACKEND_BASE_URL=http://localhost:8000 ``` 4. Start the development server: ```bash npm run dev ``` ## Environment Variables ### Required Configuration #### Instagram/Facebook - `CLIENT_ID`: Facebook App ID - `CLIENT_SECRET`: Facebook App Secret - `INSTAGRAM_GRAPHAPI_BASE_URL`: Graph API endpoint #### Twitter/X - `TWITTER_API_KEY`: Twitter API key - `TWITTER_API_SECRET_KEY`: Twitter API secret #### Threads - `THREADS_APP_ID`: Threads App ID - `THREADS_APP_SECRET`: Threads App Secret #### TikTok - `TIKTOK_CLIENT_KEY`: TikTok client key - `TIKTOK_CLIENT_SECRET`: TikTok client secret #### Pinterest - `PINTEREST_APP_ID`: Pinterest App ID - `PINTEREST_APP_SECRET`: Pinterest App Secret - `PINTEREST_ACCESS_TOKEN`: Pinterest access token #### Reddit - `REDDIT_CLIENT_ID`: Reddit client ID - `REDDIT_CLIENT_SECRET`: Reddit client secret #### AWS S3 - `AWS_REGION`: AWS region (e.g., us-east-1) - `AWS_ACCESS_KEY`: AWS access key - `AWS_SECRET_ACCESS_KEY`: AWS secret key - `AWS_S3_BUCKET`: S3 bucket name ## API Documentation API documentation is available via Swagger UI when running the backend server: ``` http://localhost:8000/api-docs ``` ## Project Structure ``` exp-backend/ ├── src/ │ ├── controllers/ # Request handlers │ ├── models/ # Database models │ ├── routes/ # API routes │ ├── middleware/ # Custom middleware │ ├── services/ # Business logic │ ├── utils/ # Helper functions │ └── server.ts # Application entry point ├── .env # Environment variables ├── package.json └── tsconfig.json ``` ## Development ### Running in Development Mode ```bash npm run dev ``` ### Running in Production Mode ```bash npm start ``` ## Security Considerations ⚠️ **Important Security Notes:** - Never commit `.env` files to version control - Rotate API keys and secrets regularly - Use environment-specific configurations for development, staging, and production - Implement rate limiting for API endpoints - Enable CORS only for trusted domains in production - Use HTTPS in production environments ## Social Media Platform Integration ### Instagram - Supports image and video posts - Story publishing capabilities - Requires Facebook Business account ### Twitter/X - Text, image, and video tweets - Thread support - OAuth 1.0a authentication ### TikTok - Video uploads with captions - Hashtag support ### Pinterest - Pin creation with images - Board management ### Reddit - Post submission to subreddits - Image and text post support ### YouTube - Video uploads - Metadata management - OAuth 2.0 authentication ## Contributing 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License This project is licensed under the ISC License. ## Support For support, email support@blastastic.com or open an issue in the repository. ## Acknowledgments - Express.js community - MongoDB team - All social media API providers - Open source contributors --- **Note**: This is a production application. Ensure all security best practices are followed and sensitive credentials are properly secured.