A professional social media management platform leveraging Google Gemini AI to generate and automate LinkedIn posts with enterprise-grade capabilities.
- AI Content Generation - Powered by Gemini Flash 2.5
- Advanced Image Analysis - Context-aware post creation
- OAuth Integration - Secure LinkedIn authentication
- Automated Publishing - Direct LinkedIn integration
- Analytics & History - MongoDB-based tracking
- Modern Interface - Responsive Tailwind CSS design
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ React Frontend │◄───────►│ Express Backend │◄───────►│ MongoDB Atlas │
│ (Port 5173) │ │ (Port 3001) │ │ │
│ │ │ │ │ │
└────────┬────────┘ └────────┬─────────┘ └─────────────────┘
│ │
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ │ │ │
│ Gemini AI API │ │ LinkedIn API │
│ (Flash 2.5) │ │ (OAuth + Posts) │
│ │ │ │
└─────────────────┘ └──────────────────┘
- Start Backend Server
cd D:\15OCT\Sever
npm start- Start Frontend Server
cd D:\15OCT\RTL
npm run dev- Access Application
Navigate to:
http://localhost:5173
- Node.js 18+
- MongoDB Atlas account
- LinkedIn Developer credentials
- Gemini API key
Backend (D:\15OCT\Sever\.env):
- MongoDB Atlas connection string
- LinkedIn OAuth credentials
- JWT and session secrets
Frontend (D:\15OCT\RTL\.env):
- Backend API URL
- Gemini API key
-
Authentication
- Use LinkedIn OAuth for secure login
- Authorize application access
-
Content Creation
- Input post content or project description
- Upload relevant images (optional)
- Submit for AI processing
-
Review and Publication
- Review AI-generated content
- Edit if necessary
- Publish directly to LinkedIn
-
Verification
- Monitor post status
- View analytics and engagement
- React 19 with Vite
- Tailwind CSS for styling
- Lucide React Icons
- Axios for HTTP requests
- React Router DOM for navigation
- Node.js with Express.js
- MongoDB with Mongoose ORM
- Passport.js OAuth2 integration
- JWT Authentication
- Multer for file handling
- Google Gemini 2.0 Flash API
- LinkedIn REST API v2
D:\15OCT\
│
├── RTL\ # Frontend Application
│ ├── src\
│ │ ├── components\ # React components
│ │ │ ├── AiInterface.jsx # Main AI interface
│ │ │ ├── LoginButton.jsx # LinkedIn login
│ │ │ └── UserProfile.jsx # User profile display
│ │ ├── context\
│ │ │ └── AuthContext.jsx # Authentication state
│ │ ├── pages\
│ │ │ └── AuthSuccess.jsx # OAuth callback page
│ │ ├── utils\
│ │ │ └── api.js # API client
│ │ ├── App.jsx # Main app component
│ │ └── main.jsx # Entry point
│ ├── .env # Environment variables
│ └── package.json
│
├── Sever\ # Backend Application
│ ├── config\
│ │ ├── database.js # MongoDB connection
│ │ └── passport.js # LinkedIn OAuth config
│ ├── models\
│ │ ├── User.js # User schema
│ │ └── Post.js # Post schema
│ ├── routes\
│ │ ├── auth.js # Authentication routes
│ │ └── posts.js # Post management routes
│ ├── services\
│ │ └── linkedinService.js # LinkedIn API integration
│ ├── middleware\
│ │ └── auth.js # JWT authentication
│ ├── server.js # Main server file
│ ├── .env # Environment variables
│ └── package.json
│
├── SETUP_GUIDE.md # Detailed setup instructions
├── LINKEDIN_SETUP.md # LinkedIn app configuration
├── START_SERVERS.md # Quick start commands
└── README.md # This file
- JWT token-based authentication
- Secure OAuth 2.0 implementation
- Environment-based secret management
- CORS protection mechanisms
- Secure session handling
- Encrypted token storage
GET /auth/linkedin- Initiate LinkedIn OAuthGET /auth/linkedin/callback- OAuth callbackGET /auth/me- Get current userPOST /auth/logout- Logout user
POST /api/posts/create- Create LinkedIn postGET /api/posts/my-posts- Get user's postsGET /api/posts/:postId- Get specific postDELETE /api/posts/:postId- Delete post
{
linkedinId: String,
email: String,
firstName: String,
lastName: String,
profilePicture: String,
accessToken: String,
linkedinProfile: Object,
createdAt: Date
}{
userId: ObjectId,
content: String,
imageUrl: String,
linkedinPostId: String,
status: String,
publishedAt: Date
}- Verify MongoDB connection string
- Ensure port 3001 is available
- Execute
npm installin Server directory
- Confirm port 5173 availability
- Run
npm installin RTL directory - Validate .env configuration
- Verify LinkedIn redirect URLs
- Validate OAuth credentials
- Consult LINKEDIN_SETUP.md
- Confirm authentication status
- Verify API scope permissions
- Check server logs
- Setup Guide - Complete setup instructions
- LinkedIn Setup - LinkedIn app configuration
- Quick Start - Fast startup commands
- Update environment variables
- Configure production MongoDB
- Set up HTTPS
- Update LinkedIn redirect URLs
- Enable rate limiting
- Set up monitoring
- Multi-platform integration (Twitter, Facebook)
- Advanced post scheduling
- Analytics dashboard
- Team collaboration features
- Content calendar management
- A/B testing capabilities
- Engagement metrics tracking
This is a private project. Please contact the development team for any questions or issues.
Proprietary - All rights reserved
Technical Support Process:
- Review documentation
- Check system logs
- Verify configurations
- Validate LinkedIn settings
Built with React, Node.js, MongoDB, and Google Gemini AI
Verify the following functionality:
- LinkedIn authentication
- User profile access
- AI content generation
- Image processing
- LinkedIn post integration
- Analytics tracking