markdown# π€ AutoGenerate β AI-Powered Social Media Post Generator
AutoGenerate is a full-stack web application that allows users to generate AI-powered social media posts using a prompt or a JSON file, and publish them across multiple platforms.
AutoGenerate/
Backend/
βββ appsettings.json
βββ appsettings.Development.json
βββ Program.cs
βββ AutoGenerate.csproj
βββ Dockerfile
β
βββ AiService/
β βββ AiController.cs
β βββ AiRecommendation.cs
β βββ RecommendationsRequestDto.cs
β
βββ AuthService/
β βββ AuthController.cs
β βββ EmailService.cs
β βββ JwtService.cs
β βββ LoginRequest.cs
β βββ OtpCode.cs
β βββ OtpService.cs
β βββ RegisterRequest.cs
β βββ VerifyOtpRequest.cs
β
βββ CaptionService/
β βββ Caption.cs
β βββ CaptionController.cs
β βββ ChatDto.cs
β βββ ChatHistoryItem.cs
β βββ ConfirmCaptionDto.cs
β βββ GenerateCaptionDto.cs
β βββ SaveCaptionDto.cs
β βββ UpdateCaptionDto.cs
β βββ UpdateMediaDto.cs
β βββ UpdatePostParamsDto.cs
β
βββ Enum/
β βββ PostStatus.cs
β
βββ ExternalTasks/
β βββ AssignTaskDto.cs
β βββ ExternalTaskController.cs
β βββ ExternalTaskDto.cs
β
βββ ImageService/
β βββ GenerateImageDto.cs
β βββ ImageController.cs
β βββ SaveImageUrlDto.cs
β βββ SetImageUrlDto.cs
β
βββ Notifications/
β βββ Notifications.cs
β
βββ PostService/
β βββ CreatePostDto.cs
β βββ PostDto.cs
β βββ PostResponseDto.cs
β βββ PostResultDto.cs
β βββ PostsController.cs
β βββ RescheduleRequest.cs
β βββ ScheduleDto.cs
β βββ UpdateStatusDto.cs
β
βββ Shared/
β βββ Clients/
β β βββ ClientsController.cs
β βββ Converters/
β β βββ DateTimeUtcConverter.cs
β βββ Data/
β β βββ AppDbContext.cs
β β βββ Migrations/
β β βββ 20260225161029_Initial.cs
β β βββ 20260326131556_AddPostsAndSocialAccounts.cs
β β βββ ... (14 migrations)
β β βββ 20260513090000_AddTrelloBoardId.cs β nouveau
β β βββ AppDbContextModelSnapshot.cs
β βββ Models/
β βββ Client.cs
β βββ ExternalTask.cs
β βββ Image.cs
β βββ Notification.cs
β βββ Platform.cs
β βββ Post.cs
β βββ Topic.cs
β βββ User.cs
β
βββ SocialAccounts/
β βββ AccountsController.cs
β βββ SaveAccountDto.cs
β βββ SocialAccount.cs
β βββ Socialcontroller.cs
β βββ UpdateTokenDto.cs
β
βββ Swagger/
β βββ SwaggerFileOperationFilter.cs
β
βββ TopicService/
β βββ CreateTopicDto.cs
β βββ TopicController.cs
β
βββ Trello/ β nouveau
βββ TrelloWebhookController.cs
Frontend/
βββ index.html
βββ package.json
βββ vite.config.ts
βββ tsconfig.json
βββ tsconfig.app.json
βββ tsconfig.node.json
βββ tailwind.config.js
βββ postcss.config.js
βββ vercel.json
βββ .env.example
β
βββ src/
β βββ main.tsx
β βββ App.tsx
β βββ App.css
β βββ index.css
β βββ global.var.ts
β βββ i18n.tsx
β βββ vite-env.d.ts
β β
β βββ pages/
β β βββ Home.tsx
β β βββ Auth.tsx
β β βββ Dashboard.tsx
β β βββ Editor.tsx
β β βββ VerifyOtp.tsx
β β
β βββ router/
β β βββ AppRouter.tsx
β β βββ ProtectedRoute.tsx
β β
β βββ hooks/
β β βββ AuthContext.tsx
β β βββ ClientContext.tsx
β β βββ ThemeContext.tsx
β β βββ useAuth.ts
β β βββ useScroll.ts
β β
β βββ config/
β β βββ api.config.ts
β β βββ theme.config.tsx
β β
β βββ services/
β β βββ api.ts
β β
β βββ helpers/
β β βββ api.ts
β β
β βββ store/
β β βββ store.ts
β β
β βββ Redux/
β β βββ slices/
β β βββ authSlice.ts
β β
β βββ lib/
β β βββ utils.ts
β β
β βββ components/
β β βββ DashboardSection/
β β β βββ Analytics/
β β β β βββ index.tsx
β β β β βββ OverviewTab.tsx
β β β β βββ ContentTab.tsx
β β β β βββ Analyse.tsx
β β β β βββ Airecommendations.tsx
β β β β βββ AnalyticsComponents.tsx
β β β β βββ analyticsHelpers.ts
β β β β βββ analyticsTypes.ts
β β β β βββ SocialIcons.tsx
β β β β βββ FacebookTab.tsx
β β β β βββ InstagramTab.tsx
β β β β βββ LinkedinTab.tsx
β β β β βββ TiktokTab.tsx
β β β β
β β β βββ Calendar/
β β β β βββ CalendarView.tsx
β β β β
β β β βββ Notifications/
β β β β βββ NotificationBell.tsx
β β β β βββ ExternalTaskModal.tsx
β β β β
β β β βββ Posts/
β β β β βββ PostsView.tsx
β β β β βββ CreatePostModal.tsx
β β β β βββ DetailPanel.tsx
β β β β
β β β βββ Topics/
β β β β βββ TopicsView.tsx
β β β β βββ TopicDetailView.tsx
β β β β
β β β βββ SocialAccounts/
β β β β βββ ConnectedAccountsView.tsx
β β β β
β β β βββ Settings/
β β β βββ Settings.tsx
β β β
β β βββ HomeSection/
β β β βββ AboutUs.tsx
β β β βββ Contact.tsx
β β β βββ DashboardPreview.tsx
β β β βββ GeneratePost.tsx
β β β βββ Phone.tsx
β β β βββ PricingSection.tsx
β β β βββ ProductPreview.tsx
β β β
β β βββ NavigationBar/
β β β βββ NavBar.tsx
β β β
β β βββ Footer/
β β β βββ Footer.tsx
β β β
β β βββ UI/
β β βββ AppInterface.tsx
β β βββ ContainerScroll.tsx
β β βββ FloatingIcon.tsx
β β βββ IgMock.tsx
β β βββ Smartphone.tsx
β β βββ cinematic-landing-hero.tsx
β β βββ map.tsx
β β βββ social-hub-circuit.tsx
β β βββ typewriter-effect.tsx
β β βββ typewriter-effect-demo.tsx
β β
β βββ assets/
β βββ AboutUs.css
β βββ Auth.css
β βββ Editor.css
β βββ GeneratePost.css
β βββ Home.css
β βββ NavBar.css
β βββ VerifyOtp.css
## βοΈ Getting Started
### Prerequisites
- Node.js >= 18
- .NET 8 SDK
- SQL Server
- HuggingFace API Key
- Groq API Key
---
### π₯οΈ Backend Setup
**1. Clone the repo**
```bash
git clone https://github.com/amira-02/Auto_Generate.git
cd Auto_Generate/Backend
2. Configure appsettings.json
{
"Jwt": {
"Key": "YOUR_SECRET_KEY",
"Issuer": "AutoGenerateApi",
"Audience": "AutoGenerateClient"
},
"ConnectionStrings": {
"DefaultConnection": "Your SQL Server connection string"
},
"Groq": {
"ApiKey": "your_groq_api_key"
},
"HuggingFace": {
"ApiKey": "your_huggingface_api_key"
}
}
3. Apply migrations and run
dotnet ef database update
dotnet run
API runs on: https://localhost:7079
1. Navigate to Frontend
cd Auto_Generate/Frontend
2. Install dependencies
npm install
3. Start the dev server
npm run dev
App runs on: http://localhost:5173
Register β OTP sent to email β Verify OTP β JWT token β Access Dashboard
Login β JWT token β Access Dashboard
localStorageEditor, Admin)/auth if not authenticated| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register | Register new user | β |
| POST | /api/auth/login | Login user | β |
| POST | /api/auth/verify-otp | Verify OTP code | β |
| POST | /api/auth/resend-otp | Resend OTP | β |
| POST | /api/ai/generate | Generate post text | β |
| POST | /api/ai/generate-image | Generate image | β |
The app uses a global ThemeContext for dark/light mode:
import { useTheme } from "../hooks/ThemeContext";
const { t, isDark, toggleTheme } = useTheme();
// Use t.bg, t.text, t.card, t.border etc. for consistent theming
Create a .env file in Frontend/ if needed:
VITE_API_URL=https://localhost:7079/api
And update services/api.ts:
const API = axios.create({
baseURL: import.meta.env.VITE_API_URL,
});
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Amira β @amira-02
This project is licensed under the MIT License.
C#
99.9%
markdown# π€ AutoGenerate β AI-Powered Social Media Post Generator
AutoGenerate is a full-stack web application that allows users to generate AI-powered social media posts using a prompt or a JSON file, and publish them across multiple platforms.
AutoGenerate/
Backend/
βββ appsettings.json
βββ appsettings.Development.json
βββ Program.cs
βββ AutoGenerate.csproj
βββ Dockerfile
β
βββ AiService/
β βββ AiController.cs
β βββ AiRecommendation.cs
β βββ RecommendationsRequestDto.cs
β
βββ AuthService/
β βββ AuthController.cs
β βββ EmailService.cs
β βββ JwtService.cs
β βββ LoginRequest.cs
β βββ OtpCode.cs
β βββ OtpService.cs
β βββ RegisterRequest.cs
β βββ VerifyOtpRequest.cs
β
βββ CaptionService/
β βββ Caption.cs
β βββ CaptionController.cs
β βββ ChatDto.cs
β βββ ChatHistoryItem.cs
β βββ ConfirmCaptionDto.cs
β βββ GenerateCaptionDto.cs
β βββ SaveCaptionDto.cs
β βββ UpdateCaptionDto.cs
β βββ UpdateMediaDto.cs
β βββ UpdatePostParamsDto.cs
β
βββ Enum/
β βββ PostStatus.cs
β
βββ ExternalTasks/
β βββ AssignTaskDto.cs
β βββ ExternalTaskController.cs
β βββ ExternalTaskDto.cs
β
βββ ImageService/
β βββ GenerateImageDto.cs
β βββ ImageController.cs
β βββ SaveImageUrlDto.cs
β βββ SetImageUrlDto.cs
β
βββ Notifications/
β βββ Notifications.cs
β
βββ PostService/
β βββ CreatePostDto.cs
β βββ PostDto.cs
β βββ PostResponseDto.cs
β βββ PostResultDto.cs
β βββ PostsController.cs
β βββ RescheduleRequest.cs
β βββ ScheduleDto.cs
β βββ UpdateStatusDto.cs
β
βββ Shared/
β βββ Clients/
β β βββ ClientsController.cs
β βββ Converters/
β β βββ DateTimeUtcConverter.cs
β βββ Data/
β β βββ AppDbContext.cs
β β βββ Migrations/
β β βββ 20260225161029_Initial.cs
β β βββ 20260326131556_AddPostsAndSocialAccounts.cs
β β βββ ... (14 migrations)
β β βββ 20260513090000_AddTrelloBoardId.cs β nouveau
β β βββ AppDbContextModelSnapshot.cs
β βββ Models/
β βββ Client.cs
β βββ ExternalTask.cs
β βββ Image.cs
β βββ Notification.cs
β βββ Platform.cs
β βββ Post.cs
β βββ Topic.cs
β βββ User.cs
β
βββ SocialAccounts/
β βββ AccountsController.cs
β βββ SaveAccountDto.cs
β βββ SocialAccount.cs
β βββ Socialcontroller.cs
β βββ UpdateTokenDto.cs
β
βββ Swagger/
β βββ SwaggerFileOperationFilter.cs
β
βββ TopicService/
β βββ CreateTopicDto.cs
β βββ TopicController.cs
β
βββ Trello/ β nouveau
βββ TrelloWebhookController.cs
Frontend/
βββ index.html
βββ package.json
βββ vite.config.ts
βββ tsconfig.json
βββ tsconfig.app.json
βββ tsconfig.node.json
βββ tailwind.config.js
βββ postcss.config.js
βββ vercel.json
βββ .env.example
β
βββ src/
β βββ main.tsx
β βββ App.tsx
β βββ App.css
β βββ index.css
β βββ global.var.ts
β βββ i18n.tsx
β βββ vite-env.d.ts
β β
β βββ pages/
β β βββ Home.tsx
β β βββ Auth.tsx
β β βββ Dashboard.tsx
β β βββ Editor.tsx
β β βββ VerifyOtp.tsx
β β
β βββ router/
β β βββ AppRouter.tsx
β β βββ ProtectedRoute.tsx
β β
β βββ hooks/
β β βββ AuthContext.tsx
β β βββ ClientContext.tsx
β β βββ ThemeContext.tsx
β β βββ useAuth.ts
β β βββ useScroll.ts
β β
β βββ config/
β β βββ api.config.ts
β β βββ theme.config.tsx
β β
β βββ services/
β β βββ api.ts
β β
β βββ helpers/
β β βββ api.ts
β β
β βββ store/
β β βββ store.ts
β β
β βββ Redux/
β β βββ slices/
β β βββ authSlice.ts
β β
β βββ lib/
β β βββ utils.ts
β β
β βββ components/
β β βββ DashboardSection/
β β β βββ Analytics/
β β β β βββ index.tsx
β β β β βββ OverviewTab.tsx
β β β β βββ ContentTab.tsx
β β β β βββ Analyse.tsx
β β β β βββ Airecommendations.tsx
β β β β βββ AnalyticsComponents.tsx
β β β β βββ analyticsHelpers.ts
β β β β βββ analyticsTypes.ts
β β β β βββ SocialIcons.tsx
β β β β βββ FacebookTab.tsx
β β β β βββ InstagramTab.tsx
β β β β βββ LinkedinTab.tsx
β β β β βββ TiktokTab.tsx
β β β β
β β β βββ Calendar/
β β β β βββ CalendarView.tsx
β β β β
β β β βββ Notifications/
β β β β βββ NotificationBell.tsx
β β β β βββ ExternalTaskModal.tsx
β β β β
β β β βββ Posts/
β β β β βββ PostsView.tsx
β β β β βββ CreatePostModal.tsx
β β β β βββ DetailPanel.tsx
β β β β
β β β βββ Topics/
β β β β βββ TopicsView.tsx
β β β β βββ TopicDetailView.tsx
β β β β
β β β βββ SocialAccounts/
β β β β βββ ConnectedAccountsView.tsx
β β β β
β β β βββ Settings/
β β β βββ Settings.tsx
β β β
β β βββ HomeSection/
β β β βββ AboutUs.tsx
β β β βββ Contact.tsx
β β β βββ DashboardPreview.tsx
β β β βββ GeneratePost.tsx
β β β βββ Phone.tsx
β β β βββ PricingSection.tsx
β β β βββ ProductPreview.tsx
β β β
β β βββ NavigationBar/
β β β βββ NavBar.tsx
β β β
β β βββ Footer/
β β β βββ Footer.tsx
β β β
β β βββ UI/
β β βββ AppInterface.tsx
β β βββ ContainerScroll.tsx
β β βββ FloatingIcon.tsx
β β βββ IgMock.tsx
β β βββ Smartphone.tsx
β β βββ cinematic-landing-hero.tsx
β β βββ map.tsx
β β βββ social-hub-circuit.tsx
β β βββ typewriter-effect.tsx
β β βββ typewriter-effect-demo.tsx
β β
β βββ assets/
β βββ AboutUs.css
β βββ Auth.css
β βββ Editor.css
β βββ GeneratePost.css
β βββ Home.css
β βββ NavBar.css
β βββ VerifyOtp.css
## βοΈ Getting Started
### Prerequisites
- Node.js >= 18
- .NET 8 SDK
- SQL Server
- HuggingFace API Key
- Groq API Key
---
### π₯οΈ Backend Setup
**1. Clone the repo**
```bash
git clone https://github.com/amira-02/Auto_Generate.git
cd Auto_Generate/Backend
2. Configure appsettings.json
{
"Jwt": {
"Key": "YOUR_SECRET_KEY",
"Issuer": "AutoGenerateApi",
"Audience": "AutoGenerateClient"
},
"ConnectionStrings": {
"DefaultConnection": "Your SQL Server connection string"
},
"Groq": {
"ApiKey": "your_groq_api_key"
},
"HuggingFace": {
"ApiKey": "your_huggingface_api_key"
}
}
3. Apply migrations and run
dotnet ef database update
dotnet run
API runs on: https://localhost:7079
1. Navigate to Frontend
cd Auto_Generate/Frontend
2. Install dependencies
npm install
3. Start the dev server
npm run dev
App runs on: http://localhost:5173
Register β OTP sent to email β Verify OTP β JWT token β Access Dashboard
Login β JWT token β Access Dashboard
localStorageEditor, Admin)/auth if not authenticated| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register | Register new user | β |
| POST | /api/auth/login | Login user | β |
| POST | /api/auth/verify-otp | Verify OTP code | β |
| POST | /api/auth/resend-otp | Resend OTP | β |
| POST | /api/ai/generate | Generate post text | β |
| POST | /api/ai/generate-image | Generate image | β |
The app uses a global ThemeContext for dark/light mode:
import { useTheme } from "../hooks/ThemeContext";
const { t, isDark, toggleTheme } = useTheme();
// Use t.bg, t.text, t.card, t.border etc. for consistent theming
Create a .env file in Frontend/ if needed:
VITE_API_URL=https://localhost:7079/api
And update services/api.ts:
const API = axios.create({
baseURL: import.meta.env.VITE_API_URL,
});
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Amira β @amira-02
This project is licensed under the MIT License.
C#
99.9%