Skip to content

Rexxar0102/-Social-Media-Manager-with-FastAPI-Angular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SocialPost Pro

Gestor de redes sociales para programar y publicar automáticamente en Instagram.

Características

  • 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

Tech Stack

Frontend

  • Angular 17+
  • FullCalendar
  • Angular Router

Backend

  • FastAPI (Python)
  • SQLite + SQLAlchemy
  • APScheduler (programación de tareas)
  • Instagram Graph API v18.0

Requisitos

  • Python 3.8+
  • Node.js 18+

Instalación

Backend

cd backend
pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload

Frontend

cd frontend
npm install
npm start -- --port 4200 --host 127.0.0.1

La aplicación estará disponible en http://localhost:4200

API Endpoints

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

Configuración de Instagram API

  1. Ve a Facebook Developers
  2. Crea una nueva aplicación
  3. Agrega "Instagram" como producto
  4. Configura el OAuth redirect URI: http://localhost:8000/api/auth/callback
  5. Obtén tu Client ID y Client Secret
  6. En la app, ve a Configuración e ingresa las credenciales

Estructura del Proyecto

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

Licencia

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages