https://github.com/dev-gaitano/topbox
An AI powered content management system that helps teams create, organize, update, and publish digital content across multiple platforms.
https://github.com/dev-gaitano/topbox
ai flask postgresql python react typescript
Last synced: about 1 month ago
JSON representation
An AI powered content management system that helps teams create, organize, update, and publish digital content across multiple platforms.
- Host: GitHub
- URL: https://github.com/dev-gaitano/topbox
- Owner: dev-gaitano
- Created: 2026-02-13T13:20:34.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-30T05:33:56.000Z (about 1 month ago)
- Last Synced: 2026-05-30T06:22:07.733Z (about 1 month ago)
- Topics: ai, flask, postgresql, python, react, typescript
- Language: Python
- Homepage: https://topbox-agency.vercel.app/
- Size: 290 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
TopBox Studio
TopBox is an AI powered content management system that helps teams create, organize, update, and publish digital content across multiple platforms.
## Tech stack
- React + TypeScript + CSS + Vite Front-end
- Python + Flask Back-end API
- PostreSQL Database
## Features
- **Company Management**: Select existing companies or create new ones
- **Brand Guidelines**: Upload or generate brand guidelines
- **Content Creation**: Create content posts with topics, platform selection, and reference images
- **Content Review**: Review and edit generated content prompts and captions
## Getting Started
### Installation
```bash
# Setup backend
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py
```
- API calls are configured to proxy to `http://localhost:5000`
```bash
# Setup frontend
cd frontend
npm install
npm run dev
```
The application will be available at `http://localhost:3000`
### Build
```bash
cd frontend
npm run build
```
## API Endpoints
The frontend expects the following Flask backend endpoints:
### Companies
- `GET /api/companies` - Fetch all companies
- `POST /api/companies` - Create a new company
- `GET /api/companies/` - Fetch selected company
### Brand Guidelines
- `POST /api/brand-guidelines/upload` - Upload brand guidelines file
- `POST /api/brand-guidelines/generate` - Generate brand guidelines
- `POST /api/brand-guidelines/save` - Save generated guidelines
- `GET /api/brand-guidelines/` - Get brand guidelines for selected company
### Content
- `POST /api/content/create` - Create new content post
- `GET /api/content/latest` - Get latest content for a company
- `GET /api/content/list` - Get latest 20 content for a company
- `POST /api/content/save` - Save content with prompt and caption
## Project Structure
```
.
├── .git/ # Git metadata
├── README.md # Project documentation
├── backend/ # Flask Backend
│ ├── main.py # API entry point
│ ├── databaseConnection.py # Database connection and setup
│ ├── requirements.txt # Python deps
│ ├── schema.sql # DB schema
│ ├── Dockerfile # Backend container config
│ ├── .env # Secrets (local)
│ └── agents/ # AI Agent logic
│ ├── agentSetup.py # Shared AI config
│ ├── brandAgent.py # Brand analysis agent
│ ├── contentAgent.py # Content creation agent
│ └── responseModels.py # Pydantic models
├── frontend/ # React Frontend
│ ├── index.html # HTML entry point
│ ├── package.json # Frontend config and scripts
│ ├── package-lock.json # Locked dependency versions
│ ├── tsconfig.json # TypeScript config
│ ├── tsconfig.node.json # TypeScript config for tooling
│ ├── vite.config.ts # Vite config
│ └── src/ # Frontend source
│ ├── components/ # React components
│ ├── types/ # Type definitions
│ ├── App.tsx # Main component
│ └── main.tsx # Entry point
```
## Notes
- Selected company state is managed at "Main.tsx"