feat: Implement AI tutor functionality, add branding fields, and improve API URL handling.

This commit is contained in:
2026-01-23 14:48:41 -03:00
parent 60e2af72f0
commit 470c7f0172
30 changed files with 1352 additions and 274 deletions
+76
View File
@@ -0,0 +1,76 @@
2026-01-23T16:11:08.024085Z  INFO sqlx::postgres::notice: relation "_sqlx_migrations" already exists, skipping
2026-01-23T16:11:08.027458Z  INFO lms_service: LMS Service listening on 0.0.0.0:3002
▲ Next.js 14.2.21
- Local: http://006ab367474a:3003
- Network: http://172.18.0.3:3003
✓ Starting...
✓ Ready in 30ms
TypeError: fetch failed
at node:internal/deps/undici/undici:12637:11
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async fetchExternalImage (/app/node_modules/next/dist/server/image-optimizer.js:589:17)
at async NextNodeServer.imageOptimizer (/app/node_modules/next/dist/server/next-server.js:649:48)
at async cacheEntry.imageResponseCache.get.incrementalCache (/app/node_modules/next/dist/server/next-server.js:182:65)
at async /app/node_modules/next/dist/server/response-cache/index.js:90:36
at async /app/node_modules/next/dist/lib/batcher.js:45:32 {
cause: Error: connect ECONNREFUSED 127.0.0.1:3001
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3001
}
}
2026-01-23T16:12:42.241889Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:12:42.247382Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:12:47.935236Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:12:50.853225Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:12:50.860842Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:12:53.661037Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:12:57.221143Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:12:57.239532Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:12:58.825384Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:12:58.834411Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:13:00.543902Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:13:00.559156Z  INFO lms_service::handlers: get_course_outline: fetching course e3b1fe67-c411-4dbd-a222-a6111ce786bb
2026-01-23T16:13:02.271758Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
2026-01-23T16:22:32.087284Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
TypeError: fetch failed
at node:internal/deps/undici/undici:12637:11
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async fetchExternalImage (/app/node_modules/next/dist/server/image-optimizer.js:589:17)
at async NextNodeServer.imageOptimizer (/app/node_modules/next/dist/server/next-server.js:649:48)
at async cacheEntry.imageResponseCache.get.incrementalCache (/app/node_modules/next/dist/server/next-server.js:182:65)
at async /app/node_modules/next/dist/server/response-cache/index.js:90:36
at async /app/node_modules/next/dist/lib/batcher.js:45:32 {
cause: Error: connect ECONNREFUSED 127.0.0.1:3001
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:128:17) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3001
}
}
2026-01-23T16:22:45.297187Z  INFO lms_service::handlers: get_course_outline: fetching course 3b492da6-b662-4894-a244-86cd4b7d4aa4
TypeError: fetch failed
at node:internal/deps/undici/undici:12637:11
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async fetchExternalImage (/app/node_modules/next/dist/server/image-optimizer.js:589:17)
at async NextNodeServer.imageOptimizer (/app/node_modules/next/dist/server/next-server.js:649:48)
at async cacheEntry.imageResponseCache.get.incrementalCache (/app/node_modules/next/dist/server/next-server.js:182:65)
at async /app/node_modules/next/dist/server/response-cache/index.js:90:36
at async /app/node_modules/next/dist/lib/batcher.js:45:32 {
cause: Error: connect ECONNREFUSED 127.0.0.1:3001
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:128:17) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3001
}
}