Gestor de redes sociales para programar y publicar automáticamente en Instagram.
- Publicaciones de Video - Sube videos con título, descripción y hashtags
- Publicaciones de Foto - Comparte imágenes con caption y hashtags
- Publicaciones de Texto - Crea posts de solo texto
- Calendario - Visualiza todas tus publicaciones programadas con FullCalendar
- Programación Automática - Programa publicaciones para que se publiquen automáticamente usando APScheduler
- Dashboard - Estadísticas de tu actividad en redes sociales
- Conexión OAuth - Autenticación con Instagram Graph API
- Angular 17+
- FullCalendar
- Angular Router
- FastAPI (Python)
- SQLite + SQLAlchemy
- APScheduler (programación de tareas)
- Instagram Graph API v18.0
- Python 3.8+
- Node.js 18+
cd backend
pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reloadcd frontend
npm install
npm start -- --port 4200 --host 127.0.0.1La aplicación estará disponible en http://localhost:4200
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/posts |
Listar todas las publicaciones |
| GET | /api/posts/{id} |
Obtener publicación por ID |
| POST | /api/posts |
Crear nueva publicación (multipart) |
| PUT | /api/posts/{id} |
Actualizar publicación |
| DELETE | /api/posts/{id} |
Eliminar publicación |
| POST | /api/posts/{id}/publish |
Publicar ahora en Instagram |
| GET | /api/posts/scheduled/calendar |
Eventos del calendario |
| GET | /api/stats |
Estadísticas de publicaciones |
| GET | /api/settings |
Estado de conexión Instagram |
| POST | /api/settings/connect |
Guardar tokens manualmente |
| POST | /api/settings/disconnect |
Desconectar Instagram |
| GET | /api/auth/url |
Obtener URL de autorización OAuth |
| GET | /api/auth/callback |
Callback OAuth Instagram |
| GET | /health |
Health check |
- Ve a Facebook Developers
- Crea una nueva aplicación
- Agrega "Instagram" como producto
- Configura el OAuth redirect URI:
http://localhost:8000/api/auth/callback - Obtén tu Client ID y Client Secret
- En la app, ve a Configuración e ingresa las credenciales
social-post-pro/
├── backend/
│ ├── app/
│ │ ├── main.py # App FastAPI
│ │ ├── database.py # Configuración SQLite
│ │ ├── models.py # Modelos de datos (User, Post)
│ │ ├── schemas.py # Schemas Pydantic
│ │ ├── routes/
│ │ │ ├── posts.py # CRUD de publicaciones
│ │ │ ├── auth.py # Autenticación OAuth
│ │ │ └── settings.py # Configuración
│ │ └── services/
│ │ ├── instagram.py # Integración Instagram API
│ │ └── scheduler.py # Programador de publicaciones
│ ├── requirements.txt
│ └── media/ # Archivos subidos
│
├── frontend/
│ ├── src/
│ │ ├── app/
│ │ │ ├── pages/
│ │ │ │ ├── dashboard/ # Dashboard con estadísticas
│ │ │ │ ├── create-post/ # Crear nuevas publicaciones
│ │ │ │ ├── posts-list/ # Lista de todas las publicaciones
│ │ │ │ ├── calendar/ # Vista de calendario
│ │ │ │ └── settings/ # Configuración de cuenta
│ │ │ ├── services/
│ │ │ │ └── api.service.ts # Comunicación con backend
│ │ │ ├── app.component.ts # Componente principal
│ │ │ ├── app.config.ts # Configuración Angular
│ │ │ └── app.routes.ts # Definición de rutas
│ │ ├── index.html
│ │ └── styles.css # Estilos globales
│ ├── angular.json
│ ├── package.json
│ └── tsconfig.json
│
├── frontend.code-workspace
└── README.md
MIT