Merge branch 'dev' into feat/editor-and-misc-updates

This commit is contained in:
Badr B. 2024-10-10 21:17:57 +02:00 committed by GitHub
commit 1f35dfdd93
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 1342 additions and 1159 deletions

36
apps/api/poetry.lock generated
View file

@ -484,13 +484,13 @@ numpy = "*"
[[package]]
name = "chromadb"
version = "0.5.5"
version = "0.5.11"
description = "Chroma."
optional = false
python-versions = ">=3.8"
files = [
{file = "chromadb-0.5.5-py3-none-any.whl", hash = "sha256:2a5a4b84cb0fc32b380e193be68cdbadf3d9f77dbbf141649be9886e42910ddd"},
{file = "chromadb-0.5.5.tar.gz", hash = "sha256:84f4bfee320fb4912cbeb4d738f01690891e9894f0ba81f39ee02867102a1c4d"},
{file = "chromadb-0.5.11-py3-none-any.whl", hash = "sha256:f02d9326869cea926f980bd6c9a0150a0ef2e151072f325998c16a9502fb4b25"},
{file = "chromadb-0.5.11.tar.gz", hash = "sha256:252e970b3e1a27b594cc7b3685238691bf8eaa232225d4dee9e33ec83580775f"},
]
[package.dependencies]
@ -503,7 +503,7 @@ httpx = ">=0.27.0"
importlib-resources = "*"
kubernetes = ">=28.1.0"
mmh3 = ">=4.0.1"
numpy = ">=1.22.5,<2.0.0"
numpy = ">=1.22.5"
onnxruntime = ">=1.14.1"
opentelemetry-api = ">=1.2.0"
opentelemetry-exporter-otlp-proto-grpc = ">=1.2.0"
@ -515,6 +515,7 @@ posthog = ">=2.4.0"
pydantic = ">=1.9"
pypika = ">=0.48.9"
PyYAML = ">=6.0.0"
rich = ">=10.11.0"
tenacity = ">=8.2.3"
tokenizers = ">=0.13.2"
tqdm = ">=4.65.0"
@ -662,27 +663,28 @@ idna = ">=2.0.0"
[[package]]
name = "faker"
version = "28.1.0"
version = "30.1.0"
description = "Faker is a Python package that generates fake data for you."
optional = false
python-versions = ">=3.8"
files = [
{file = "Faker-28.1.0-py3-none-any.whl", hash = "sha256:b17d69312ef6485a720e21bffa997668c88876a5298b278e903ba706243c9c6b"},
{file = "faker-28.1.0.tar.gz", hash = "sha256:bc460a0e6020966410d0b276043879abca0fac51890f3324bc254bb0a383ee3a"},
{file = "Faker-30.1.0-py3-none-any.whl", hash = "sha256:dbf81295c948270a9e96cd48a9a3ebec73acac9a153d0c854fbbd0294557609f"},
{file = "faker-30.1.0.tar.gz", hash = "sha256:e0593931bd7be9a9ea984b5d8c302ef1cec19392585d1e90d444199271d0a94d"},
]
[package.dependencies]
python-dateutil = ">=2.4"
typing-extensions = "*"
[[package]]
name = "fastapi"
version = "0.112.2"
version = "0.115.0"
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
optional = false
python-versions = ">=3.8"
files = [
{file = "fastapi-0.112.2-py3-none-any.whl", hash = "sha256:db84b470bd0e2b1075942231e90e3577e12a903c4dc8696f0d206a7904a7af1c"},
{file = "fastapi-0.112.2.tar.gz", hash = "sha256:3d4729c038414d5193840706907a41839d839523da6ed0c2811f1168cac1798c"},
{file = "fastapi-0.115.0-py3-none-any.whl", hash = "sha256:17ea427674467486e997206a5ab25760f6b09e069f099b96f5b55a32fb6f1631"},
{file = "fastapi-0.115.0.tar.gz", hash = "sha256:f93b4ca3529a8ebc6fc3fcf710e5efa8de3df9b41570958abf1d97d843138004"},
]
[package.dependencies]
@ -1974,13 +1976,13 @@ sympy = "*"
[[package]]
name = "openai"
version = "1.40.3"
version = "1.50.2"
description = "The official Python library for the openai API"
optional = false
python-versions = ">=3.7.1"
files = [
{file = "openai-1.40.3-py3-none-any.whl", hash = "sha256:09396cb6e2e15c921a5d872bf92841a60a9425da10dcd962b45fe7c4f48f8395"},
{file = "openai-1.40.3.tar.gz", hash = "sha256:f2ffe907618240938c59d7ccc67dd01dc8c50be203c0077240db6758d2f02480"},
{file = "openai-1.50.2-py3-none-any.whl", hash = "sha256:822dd2051baa3393d0d5406990611975dd6f533020dc9375a34d4fe67e8b75f7"},
{file = "openai-1.50.2.tar.gz", hash = "sha256:3987ae027152fc8bea745d60b02c8f4c4a76e1b5c70e73565fa556db6f78c9e6"},
]
[package.dependencies]
@ -3372,13 +3374,13 @@ telegram = ["requests"]
[[package]]
name = "typer"
version = "0.12.3"
version = "0.12.5"
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
optional = false
python-versions = ">=3.7"
files = [
{file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"},
{file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"},
{file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"},
{file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"},
]
[package.dependencies]
@ -3895,4 +3897,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools",
[metadata]
lock-version = "2.0"
python-versions = "^3.12"
content-hash = "f8b0ade0de90d5d38f602d3c7e2d28d1a0a97d352fa1aa129bc2c4e26d515fb4"
content-hash = "f833ec3787697499d05e2aafb89bcb275b0d7468a6a4a33eb20cd139a21880d8"

View file

@ -12,14 +12,14 @@ version = "0.1.0"
[tool.poetry.dependencies]
boto3 = "^1.34.79"
botocore = "^1.34.93"
faker = "^28.1.0"
fastapi = "^0.112.2"
faker = "^30.1.0"
fastapi = "^0.115.0"
fastapi-jwt-auth = "^0.5.0"
httpx = "^0.27.0"
langchain = "^0.1.7"
langchain-community = "^0.0.20"
langchain-openai = "^0.0.6"
openai = "^1.40.3"
openai = "^1.50.2"
passlib = "^1.7.4"
psycopg2-binary = "^2.9.9"
pydantic = {version = ">=1.8.0,<2.0.0", extras = ["email"]}
@ -36,8 +36,8 @@ sentry-sdk = {extras = ["fastapi"], version = "^2.13.0"}
sqlmodel = "^0.0.19"
tiktoken = "^0.7.0"
uvicorn = "0.30.1"
typer = "^0.12.3"
chromadb = "0.5.5"
typer = "^0.12.5"
chromadb = "0.5.11"
alembic = "^1.13.2"
alembic-postgresql-enum = "^1.2.0"
sqlalchemy-utils = "^0.41.2"

View file

@ -1,6 +1,6 @@
from typing import Any, List, Optional
from pydantic import BaseModel
from sqlalchemy import Column, ForeignKey
from sqlmodel import Column, ForeignKey, Integer
from sqlmodel import Field, SQLModel
from src.db.courses.activities import ActivityRead
@ -10,18 +10,15 @@ class ChapterBase(SQLModel):
description: Optional[str] = ""
thumbnail_image: Optional[str] = ""
org_id: int = Field(
sa_column=Column("org_id", ForeignKey("organization.id", ondelete="CASCADE"))
sa_column=Column("org_id", Integer, ForeignKey("organization.id", ondelete="CASCADE"))
)
course_id: int = Field(
sa_column=Column("course_id", ForeignKey("course.id", ondelete="CASCADE"))
sa_column=Column("course_id", Integer, ForeignKey("course.id", ondelete="CASCADE"))
)
class Chapter(ChapterBase, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
course_id: int = Field(
sa_column=Column("course_id", ForeignKey("course.id", ondelete="CASCADE"))
)
chapter_uuid: str = ""
creation_date: str = ""
update_date: str = ""

View file

@ -0,0 +1,39 @@
import { ArrowRight } from 'lucide-react'
import Image from 'next/image'
import Link from 'next/link'
import learnhouseIcon from 'public/black_logo.png'
export default function NotFound() {
return (
<div className="flex min-h-screen w-full flex-col items-center justify-center
bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-zinc-200 to-slate-300">
<div className="nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto pb-20">
<Image quality={100}
width={270}
height={100}
src={learnhouseIcon}
alt="logo"
/>
</div>
<div className="space-y-6 text-center">
<h1 className="text-8xl leading-7 font-bold text-black drop-shadow-md">
404!
</h1>
<p className='text-lg pt-8 text-black tracking-tight font-medium leading-normal'>
We are very sorry for the inconvinience. It looks like you're trying to
<div>access a page that has been deleted or never existed before</div>
</p>
</div>
<div className='pt-8 flex flex-col items-center'>
<button className="flex w-fit h-[50px] text-xl space-x-2 bg-black px-6 py-2 text-md rounded-lg font-bold text-white items-center shadow-md">
<Link className='flex gap-2' href="/" >
Go back to homepage
<ArrowRight className='tracking-tight group-hover:translate-x-0.5
transition-transform duration-150 ease-in-out ml-1' />
</Link>
</button>
</div>
</div>
)
}

View file

@ -11,17 +11,18 @@
"lint:fix": "eslint --fix ."
},
"dependencies": {
"@hocuspocus/provider": "^2.13.5",
"@icons-pack/react-simple-icons": "^10.0.0",
"@hocuspocus/provider": "^2.13.6",
"@radix-ui/colors": "^0.1.9",
"@radix-ui/react-aspect-ratio": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-form": "^0.0.3",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.2",
"@sentry/nextjs": "^8.27.0",
"@radix-ui/react-switch": "^1.1.1",
"@radix-ui/react-tabs": "^1.1.1",
"@radix-ui/react-tooltip": "^1.1.3",
"@sentry/nextjs": "^8.33.1",
"@sentry/utils": "^8.33.1",
"@stitches/react": "^1.2.8",
"@tiptap/core": "^2.6.6",
"@tiptap/extension-code-block-lowlight": "^2.6.6",
@ -47,11 +48,11 @@
"lowlight": "^3.1.0",
"lucide-react": "^0.424.0",
"next": "14.2.7",
"next-auth": "^4.24.7",
"next-auth": "^4.24.8",
"nextjs-toploader": "^1.6.12",
"prosemirror-state": "^1.4.3",
"randomcolor": "^0.6.2",
"re-resizable": "^6.9.17",
"re-resizable": "^6.10.0",
"react": "^18.3.1",
"react-beautiful-dnd": "^13.1.1",
"react-confetti": "^6.1.0",
@ -61,16 +62,16 @@
"react-spinners": "^0.13.8",
"react-youtube": "^10.1.0",
"sharp": "^0.33.5",
"styled-components": "^6.1.12",
"styled-components": "^6.1.13",
"swr": "^2.2.5",
"tailwind-merge": "^2.5.2",
"tailwind-merge": "^2.5.3",
"tailwind-scrollbar": "^3.1.0",
"tailwindcss-animate": "^1.0.7",
"uuid": "^9.0.1",
"y-indexeddb": "^9.0.12",
"y-prosemirror": "^1.2.12",
"y-webrtc": "^10.3.0",
"yjs": "^13.6.18"
"yjs": "^13.6.19"
},
"devDependencies": {
"@types/node": "20.12.2",
@ -82,11 +83,11 @@
"@types/styled-components": "^5.1.34",
"@types/uuid": "^9.0.8",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.0",
"eslint-config-next": "^14.2.7",
"eslint": "^8.57.1",
"eslint-config-next": "^14.2.14",
"eslint-plugin-unused-imports": "^3.2.0",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"postcss": "^8.4.47",
"tailwindcss": "^3.4.13",
"typescript": "5.4.4"
}
}

2365
apps/web/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,15 @@ server {
server_name localhost;
client_max_body_size 500M;
# Increase header buffer size
large_client_header_buffers 4 32k;
# Increase the maximum allowed size of the client request body
client_body_buffer_size 32k;
# Increase the maximum allowed size of the client request header fields
client_header_buffer_size 32k;
# NextJS Revalidation
location /api/revalidate {
proxy_pass http://localhost:8000;