Esta es la página principal de Ordinaly. El software de Ordinaly tiene como misión ayudar a las empresas a agilizar y mejorar sus procesos con ayuda de la IA.
Hecho con las tecnologías de:
- Índice
- Visión general
- Estructura del proyecto
- Características principales
- Primeros pasos
- Dependencias principales
- Testing
- Contribuir
- Licencia
- Reconocimientos
🚀 AUTOMATIZA TU NEGOCIO CON IA
Transformamos empresas con automatizaciones inteligentes. Desde chatbots hasta flujos de trabajo avanzados, te ayudamos a modernizar tu empresa y a ser más eficiente.
🤖 Chatbots Inteligentes
Automatiza la atención al cliente 24/7 con IA conversacional avanzada.
🔄 Workflows Automatizados
Integración con Odoo, Slack y herramientas empresariales.
📱 WhatsApp Business
Automatización de ventas y soporte vía WhatsApp Business API.
🌐 Integración Global
Conectamos todos tus sistemas en una plataforma unificada.
📊 Consultoría Personalizada
Análisis y estrategia de automatización adaptada a tu negocio.
⚙️ Optimización Continua
Monitoreo y mejora constante de tus procesos automatizados.
ordinaly/
├── LICENSE
├── README.md
├── backend/
│ ├── manage.py
│ ├── requirements.txt
│ ├── db.sqlite3
│ ├── config/ # Configuración Django
│ ├── api/ # API REST principal
│ ├── users/ # Gestión de usuarios
│ ├── courses/ # Cursos y formación
│ ├── services/ # Servicios empresariales
│ ├── terms/ # Términos legales
│ └── ...
└── frontend/
├── package.json
├── public/
├── src/
│ ├── components/
│ ├── hooks/
│ ├── i18n/
│ ├── lib/
│ └── ...
├── messages/ # Archivos de traducción (es, en, ca, eu, gl)
└── ...
backend
Apps principales (Django):Otros:
- api/ — API REST principal
- models.py, serializers.py, views.py, urls.py, admin.py, tests.py
- management/commands/ — Comandos personalizados
- users/ — Gestión de usuarios y autenticación
- models.py, serializers.py, views.py, urls.py, admin.py, authentication.py, tests.py
- courses/ — Cursos y formación
- models.py, serializers.py, views.py, urls.py, admin.py, tests.py
- services/ — Servicios empresariales
- models.py, serializers.py, views.py, urls.py, admin.py, tests.py
- terms/ — Términos legales y documentos
- models.py, serializers.py, views.py, urls.py, admin.py, tests.py
- config/ — Configuración global del proyecto
- settings.py, urls.py, wsgi.py, asgi.py, __init__.py
- manage.py — Script principal de gestión Django
- requirements.txt — Dependencias del backend
- media/ — Archivos subidos (imágenes, PDFs, etc.)
- staticfiles/ — Archivos estáticos recolectados
ORDINALY/
frontend
Páginas principales (Next.js App Router):Componentes principales:
/[locale]/page.tsx
— Home/[locale]/services/page.tsx
— Servicios/[locale]/formation/page.tsx
— Cursos y formación/[locale]/legal/page.tsx
— Documentación legal/[locale]/profile/page.tsx
— Perfil de usuario/[locale]/admin/page.tsx
— Panel de administración/[locale]/auth/signin/page.tsx
— Iniciar sesión/[locale]/auth/signup/page.tsx
— RegistroUtilidades y hooks:
- Admin: admin-course-card, admin-course-modal, admin-courses-tab, admin-service-card, admin-service-edit-modal, admin-services-tab, admin-terms-tab, admin-users-tab
- Formation: course-card, course-details-modal, add-to-calendar-buttons, bonification-info, enrollment-confirmation-modal, enrollment-cancellation-modal
- Home: courses-showcase, demo-modal, pricing-plans, service-showcase, whatsapp-bubble
- Services: service-details-modal
- UI: admin-tabs, alert, back-to-top-button, badge, button, card, colourful-text, cookies, delete-account-modal, delete-confirmation-modal, dropdown, footer, icon-select, input, label, lazy-image, locale-switcher, logout-modal, markdown-renderer, modal-close-button, modal, navbar, slider, styled-button, textarea
- Auth: auth-modal, google-signin-button
Internacionalización:
- useCourses, useServices, usePreloadResources, useIntersectionObserver
- Archivos de mensajes en
/frontend/messages/
(es, en, ca, eu, gl)- Soporte para next-intl y rutas localizadas
- Backend Django REST: API robusta para cursos, usuarios, servicios y términos legales.
- Frontend Next.js: UI moderna, responsive, con soporte para dark mode y animaciones.
- Internacionalización (i18n): Traducciones completas (es, en, ca, eu, gl) usando next-intl.
- Gestión de cursos: Horarios complejos, inscripciones, exportación a calendario (.ics, Google, Outlook).
- Panel de administración: Gestión avanzada de usuarios, cursos, servicios y términos.
- Integración con WhatsApp y Odoo: Automatización de ventas y flujos empresariales.
- Accesibilidad y SEO: Buenas prácticas, sitemap, robots.txt, imágenes optimizadas.
Antes de comenzar con Ordinaly, asegúrate de tener instalado:
- Python 3.10+ y pip (para el backend)
- Node.js 18+ y npm (para el frontend)
-
Clona el repositorio:
git clone https://github.com/ordinaly-software/ordinaly.git cd ordinaly
-
Instala dependencias del backend (Django):
cd backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # Copia y configura .env proporcionada (DJANGO_SECRET_KEY, GOOGLE_OAUTH2_CLIENT_ID, GOOGLE_OAUTH2_CLIENT_SECRET, y ORDINALY_TEST_PASSWORD) # Migraciones iniciales python manage.py migrate # (Opcional) Crea superusuario python manage.py createsuperuser # (Opcional) Crea datos de prueba para ver cómo quedaría la web python manage.py populate_db
[!WARNING] NO usar bajo ningún concepto este último comando con la opción
--clear
en el entorno de producción ya que borraría todos los usuarios del sistema.# Ejecuta el servidor python manage.py runserver
-
Instala dependencias del frontend (Next.js):
cd ../frontend Copia y configura .env.local proporcionada (se puede encontrar la plantilla en .env.example) npm install npm run dev
- Django, djangorestframework, django-cors-headers, Pillow, gunicorn, whitenoise, dotenv, markdown, reportlab
- next, react, next-intl, tailwindcss, lucide-react, styled-components, react-markdown, framer-motion, jspdf
Para asegurar la calidad del backend, es obligatorio mantener al menos un 80% de cobertura de tests.
coverage run --source='.' --omit='*/migrations/*,*/tests.py,api/*,config/*,manage.py,*__init__.py' manage.py test
coverage report -m
Nota: El proyecto no se considerará válido si la cobertura es inferior al 80%.
- 💬 Únete a las discusiones: Comparte tus ideas, proporciona comentarios o haz preguntas.
- 🐛 Reportar problemas: Envía errores encontrados o registra solicitudes de funciones para el proyecto
ordinaly
. - 💡 Enviar solicitudes de extracción: Revisa las PR abiertas y envía tus propias PR.
Guías de contribución
- Haz un fork del repositorio: Comienza haciendo un fork del repositorio del proyecto a tu cuenta de LOCAL.
- Clona localmente: Clona el repositorio forkeado en tu máquina local usando un cliente de git.
git clone /home/tu_usuario/Developer/ordinaly
- Crea una nueva rama: Trabaja siempre en una nueva rama, dándole un nombre descriptivo.
git checkout -b nueva-caracteristica-x
- Realiza tus cambios: Desarrolla y prueba tus cambios localmente.
- Comprueba la build del frontend: Antes de hacer commit, ejecuta
npm run build
en la carpetafrontend
para asegurarte de que no hay errores de compilación. - Confirma tus cambios: Realiza el commit con un mensaje claro que describa tus actualizaciones.
git commit -m 'Implementada la nueva característica x.'
- Envía a LOCAL: Envía los cambios a tu repositorio forkeado.
git push origin nueva-caracteristica-x
- Envía una solicitud de extracción: Crea una PR contra el repositorio del proyecto original. Describe claramente los cambios y sus motivaciones.
- Revisión: Una vez que tu PR sea revisada y aprobada, se fusionará en la rama principal. ¡Felicidades por tu contribución!
Este proyecto está protegido bajo la Licencia APACHE. Para más detalles, consulta el archivo LICENSE.
Este proyecto fue realizado por Antonio Macías.
Para contacto directo, puedes comunicarte conmigo a través de:
o
.
Tómate un momento para visitar mi
Página Personal y explorar mis redes sociales.