π An automated application for creating and publishing Instagram posts with AI-generated images and captions on a schedule.
VseVotTak is a full-stack application for automatically generating and publishing engaging content on Instagram. The app creates beautiful text-image posts and publishes them on a predefined schedule (for example, every day at 12:00).
vsevottak_01/
βββ backend/ # Node.js + TypeScript API
β βββ src/
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic
β β βββ lib/ # Utilities and helpers
β β βββ jobs/ # Scheduled tasks
β β βββ utils/ # Common utilities
β βββ package.json
βββ frontend/ # React + TypeScript UI
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ utils/ # Frontend utilities
β βββ package.json
βββ .env # Environment variables
git clone https://github.com/Dianana101/vsevottak_01.git
cd vsevottak_01
cd backend
npm install
Create a .env file:
PORRT=3001
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
PERPLEXITY_API_KEY=your_perplexity_key
HUGGING_FACE_API_KEY=your_hugging_face_key
FACEBOOK_APP_ID=your_facebook_app_id
FACEBOOK_APP_SECRET=your_facebook_app_secret
FACEBOOK_REDIRECT_URI=http://localhost:3000/callback
cd frontend
npm install
Create a .env file:
REACT_APP_API_URL=http://localhost:3001
REACT_APP_FACEBOOK_APP_ID=your_facebook_app_id
Connect to Supabase and run the SQL migrations:
-- Tables creation scripts (see backend/tst.sql)
# Terminal 1: Start Backend
cd backend
npm start
# Terminal 2: Start Frontend
cd frontend
npm start
GET /api/auth/instagram/loginInitiate Instagram OAuth login flow.
Response:
{
"authUrl": "https://www.instagram.com/oauth/authorize?..."
}
GET /api/auth/instagram/callbackHandle Instagram OAuth callback.
Query Parameters:
code - Authorization code from Instagramstate - State parameter for verificationResponse:
{
"accessToken": "token",
"userId": "instagram_user_id"
}
POST /api/schedule/dailyCreate a daily posting schedule.
Request Body:
{
"topic": "Morning Motivation",
"time": "09:00",
"slides": 3,
"timezone": "UTC"
}
Response:
{
"scheduleId": "uuid",
"status": "active"
}
POST /api/schedule/customCreate a custom schedule.
Request Body:
{
"topic": "Weekly Tips",
"cronExpression": "0 9 * * 1",
"slides": 5
}
GET /api/analyticsGet analytics for published posts.
Response:
{
"totalPosts": 42,
"totalLikes": 1250,
"totalComments": 89,
"averageEngagement": "3.2%"
}
backend/src/
βββ routes/
β βββ auth.ts # Authentication routes
β βββ schedule.ts # Schedule management
β βββ analytics.ts # Analytics endpoints
βββ services/
β βββ contentGenerator.ts # AI content generation
β βββ instagramService.ts # Instagram API integration
β βββ scheduler.ts # Job scheduling
βββ lib/
β βββ supabase.ts # Supabase client
β βββ instagram.ts # Instagram API wrapper
βββ jobs/
β βββ postPublisher.ts # Background post publishing
βββ utils/
βββ logger.ts # Logging
βββ errors.ts # Error handling
npm test
npm run build
POST /api/auth/instagram/login
POST /api/schedule/daily
Body: {
"topic": "Daily Inspiration",
"time": "09:00",
"slides": 3
}
GET /api/analytics
Contributions are welcome! Please:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
@Dianana101 - Full-stack developer
48 commits
TypeScript
78.3%
HTML
19.0%
Python
1.8%
π An automated application for creating and publishing Instagram posts with AI-generated images and captions on a schedule.
VseVotTak is a full-stack application for automatically generating and publishing engaging content on Instagram. The app creates beautiful text-image posts and publishes them on a predefined schedule (for example, every day at 12:00).
vsevottak_01/
βββ backend/ # Node.js + TypeScript API
β βββ src/
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic
β β βββ lib/ # Utilities and helpers
β β βββ jobs/ # Scheduled tasks
β β βββ utils/ # Common utilities
β βββ package.json
βββ frontend/ # React + TypeScript UI
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ utils/ # Frontend utilities
β βββ package.json
βββ .env # Environment variables
git clone https://github.com/Dianana101/vsevottak_01.git
cd vsevottak_01
cd backend
npm install
Create a .env file:
PORRT=3001
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
PERPLEXITY_API_KEY=your_perplexity_key
HUGGING_FACE_API_KEY=your_hugging_face_key
FACEBOOK_APP_ID=your_facebook_app_id
FACEBOOK_APP_SECRET=your_facebook_app_secret
FACEBOOK_REDIRECT_URI=http://localhost:3000/callback
cd frontend
npm install
Create a .env file:
REACT_APP_API_URL=http://localhost:3001
REACT_APP_FACEBOOK_APP_ID=your_facebook_app_id
Connect to Supabase and run the SQL migrations:
-- Tables creation scripts (see backend/tst.sql)
# Terminal 1: Start Backend
cd backend
npm start
# Terminal 2: Start Frontend
cd frontend
npm start
GET /api/auth/instagram/loginInitiate Instagram OAuth login flow.
Response:
{
"authUrl": "https://www.instagram.com/oauth/authorize?..."
}
GET /api/auth/instagram/callbackHandle Instagram OAuth callback.
Query Parameters:
code - Authorization code from Instagramstate - State parameter for verificationResponse:
{
"accessToken": "token",
"userId": "instagram_user_id"
}
POST /api/schedule/dailyCreate a daily posting schedule.
Request Body:
{
"topic": "Morning Motivation",
"time": "09:00",
"slides": 3,
"timezone": "UTC"
}
Response:
{
"scheduleId": "uuid",
"status": "active"
}
POST /api/schedule/customCreate a custom schedule.
Request Body:
{
"topic": "Weekly Tips",
"cronExpression": "0 9 * * 1",
"slides": 5
}
GET /api/analyticsGet analytics for published posts.
Response:
{
"totalPosts": 42,
"totalLikes": 1250,
"totalComments": 89,
"averageEngagement": "3.2%"
}
backend/src/
βββ routes/
β βββ auth.ts # Authentication routes
β βββ schedule.ts # Schedule management
β βββ analytics.ts # Analytics endpoints
βββ services/
β βββ contentGenerator.ts # AI content generation
β βββ instagramService.ts # Instagram API integration
β βββ scheduler.ts # Job scheduling
βββ lib/
β βββ supabase.ts # Supabase client
β βββ instagram.ts # Instagram API wrapper
βββ jobs/
β βββ postPublisher.ts # Background post publishing
βββ utils/
βββ logger.ts # Logging
βββ errors.ts # Error handling
npm test
npm run build
POST /api/auth/instagram/login
POST /api/schedule/daily
Body: {
"topic": "Daily Inspiration",
"time": "09:00",
"slides": 3
}
GET /api/analytics
Contributions are welcome! Please:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
@Dianana101 - Full-stack developer
48 commits
TypeScript
78.3%
HTML
19.0%
Python
1.8%