Admin panel
Users, refunds, categories (Career, Family, Finance, DIY, Intellect, Pets, Community, Spiritual, Travel), featured courses, failed mail, S3 usage. Admin does not edit Julie’s lesson script unless asked.
Laravel adminOur Sistahood (oursistahood.com.au) forma a mujeres indígenas con módulos de vídeo — Job Ready, How to Start a Business y ocho categorías de áreas de vida. El desarrollo es un LMS de producción: PHP / Laravel, no una página de enlaces de YouTube y un grupo de Facebook.
Qué se entregó: student campus and instructor studio on the web, a Laravel admin panel, email + password auth with reset mail, ecommerce checkout for paid courses (free lifetime courses stay free), video learning from cloud storage, and transactional email. Data: MySQL for the live campus, PostgreSQL for completion reports.
Julie Okely construye Job Ready. Maya lo ve. Admin ve cada pago y cada matrícula estancada. Son tres guards Laravel, no una contraseña compartida.
Users, refunds, categories (Career, Family, Finance, DIY, Intellect, Pets, Community, Spiritual, Travel), featured courses, failed mail, S3 usage. Admin does not edit Julie’s lesson script unless asked.
Laravel adminCrear curso, módulos, lecciones, quizzes. Subir mp4 al almacenamiento en la nube. Publicar. Ver quién se matriculó, quién se estancó en la lección 2, quién aprobó el quiz. No puede ver el pago de otro instructor salvo el suyo.
StudioRegistrarse con email + password. Recorrer el catálogo. Checkout (o matrícula gratuita). Ver vídeo, reanudar, hacer el quiz. Mi lista de aprendizaje son matrículas, no marcadores.
CampusAntes de Laravel, Job Ready (0,32 horas, actualizado en octubre de 2023) vivía como un archivo Zoom y un esquema Word. Maya registraba interés en un Google Form. Nadie podía decir si terminó el módulo dos. Los talleres de pago eran transferencia bancaria y una hoja de cálculo. Restablecer la contraseña era “email a Julie.”
orders para que gratis y de pago compartan un pipeline. Estado de matrícula: active. Flag de acceso lifetime: true.lesson_progress.seconds = 184. Reanuda en el portátil de la cocina esa noche en 184s, no en 0.Esta es la torre de control. Desactivar a una estudiante que compartió una contraseña. Reembolsar un taller de $49. Ver rebotes SES. Destacar Job Ready en la cuadrícula de inicio. Admin no reescribe el quiz de Julie.
| Time | Event | Who | Status |
|---|---|---|---|
| 19:11 | Enrol Job Ready (free) | Maya W. | Active |
| 18:40 | Stripe workshop $49 | Tia N. | Paid |
| 17:02 | Password reset mailed | Maya W. | SES |
| 16:11 | Bounce · bad domain | old@mail | Held |
Julie es dueña de Job Ready y How to Start a Business. Sube el mp4, fija la nota de corte del quiz, publica. Ve el 8/10 de Maya. No ve el recibo Stripe de Tia.
| Student | Lesson | Quiz | Enrolment |
|---|---|---|---|
| Maya W. | 1 · 184s | 8/10 | OS-ENR-10482 |
| Tia N. | Complete | 10/10 | Lifetime |
| Sam K. | Not started | — | Stalled 9d |
Entra con el mismo email en el teléfono o el portátil. Job Ready está en la lista porque existe la matrícula. How to Start a Business no, hasta que hace checkout. El progreso no es una cookie.
Yaama, Maya
2 enrolments · email session
Login, matrícula, estudio, checkout, vídeo, admin, S3, correo e informes: no una lista de funciones. Abajo, cómo se veía cada uno antes y qué usa Maya ahora.
Google Form. Julie emailed a Zoom link. No hash, no reset.
Registro, verificación y login Laravel. Token de restablecimiento de 60 minutos por correo. Las mismas credenciales en teléfono y portátil.
“She’s in Job Ready” lived in Messenger.
Matrícula OS-ENR-10482: estudiante, curso, pedido, estado, lifetime. Esa fila es lo que abre el reproductor.
Un desarrollador dejó un mp4 en el servidor.
Julie publica módulos, lecciones y quizzes ella misma. How to Start a Business se actualiza sin un ticket.
Bank transfer. Spreadsheet. No receipt.
Stripe o PayPal. Job Ready gratuito igual crea un pedido de $0 para que acceso y correo compartan un camino. Reembolsos desde admin.
YouTube no listado. Se perdía el sitio. Anuncios en la lección.
Signed S3 URL, HLS when needed, resume at 184s on any device after login.
cPanel y una esperanza.
Laravel admin: users, orders, categories, coupons, mail log, disable account. Not phpMyAdmin.
mp4 on a 20GB VPS. Disk full on publish day.
AWS S3 (o R2) para vídeo y PDFs. Disco Laravel s3. El servidor de la app se queda delgado.
Julie escribía “aquí está el Zoom” desde Gmail.
SES queue: verify, reset, enrolment receipt, “your course is live.” Bounces show in admin.
90% completion was a slide.
MySQL ejecuta el campus. Agregado nocturno a PostgreSQL para “quién terminó Job Ready este mes” sin bloquear el checkout.
Email + password. Verificar vía SES. Fila de usuario en MySQL. No se exige login social en este producto.
$0 community course or Stripe/PayPal. Order + enrolment written in one Laravel transaction.
Recibo en cola: nombre del curso, id de matrícula, “acceso lifetime” si esa bandera está puesta, coincidiendo con el sitio en vivo.
Player asks Laravel for a short-lived S3 URL. Progress ticks into MySQL. Postgres report picks it up overnight.
El catálogo público en oursistahood.com.au (Job Ready, How to Start a Business, ocho categorías, acceso lifetime en móvil y escritorio) se sirve desde Laravel. Auth es email y password: verificar y restablecer estilo Fortify. Instructores, estudiantes y matrículas son modelos de primera. Ecommerce es Stripe + PayPal con un camino de $0 para cursos comunitarios. Los archivos de vídeo nunca viven en el disco de la app.
MySQL holds users, courses, lessons, enrolments, orders, attempts. PostgreSQL holds rolled-up completion for staff who must export “who finished Job Ready in October” without touching checkout tables. Mail is SES. Storage is S3. Queues run failed-job retries so a mail outage does not lose an enrolment.
Campus, instructor studio, admin, queues, signed URLs, checkout webhooks.
MySQL: operational LMS. PostgreSQL: reporting warehouse for completion exports.
S3/R2 para mp4/HLS y PDFs. El reproductor nunca recibe una URL permanente de bucket público.
SES: verify, reset, receipt, “course published.” Queued. Bounces visible in admin.
Stripe y PayPal. Las matrículas gratuitas igual acuñan un pedido para que el acceso sea un solo camino de código.
OS-ENR-10482 prueba que Maya tiene Job Ready lifetime. Las exportaciones estilo Closing-the-Gap salen de PostgreSQL, no de una diapositiva.
How to Start a Business se actualiza desde el estudio del instructor. El vídeo aterriza en S3. Las estudiantes reciben el correo.
Cursos comunitarios de $0 y talleres de $49 comparten checkout, matrícula y recibos SES. Los reembolsos son acciones de admin.
Instructor, estudiante, admin, login por email, ecommerce, vídeo S3, SES: la misma división de producción que Our Sistahood.