A fullstack platform designed for educational content creation, management, and delivery. It supports multi-role access (admins and students), with features such as user authentication and payment integration. Administrators can create and manage courses, upload and organize lessons, moderate comments, and manage user accounts, while students can access course content, post questions, and interact within lessons.
CodeLab is an educational platform that allows you to:
- Manage courses and lessons with a JSON-based structure.
- Integrate AI features to enhance user experience.
- Handle payments and subscriptions using the Asaas API.
- Manage users and authentication with Clerk.
- Store files using Cloudflare R2.
- Next.js: React framework for web applications.
- Prisma: ORM for database management.
- TypeScript: JavaScript superset with static typing.
- Tailwind CSS: Utility-first CSS framework.
- Clerk: Authentication and user management service.
- Asaas: API for payments and subscriptions.
- Cloudflare R2: Object storage service.
To set up the project, create a .env file at the root with the following variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=""
CLERK_SECRET_KEY=""
CLERK_WEBHOOK_SECRET=""ASAAS_API_KEY=""
ASAAS_API_URL=""
ASAAS_WEBHOOK_TOKEN=""DATABASE_URL=""CLOUDFLARE_ACCOUNT_ID=""
CLOUDFLARE_ACCESS_ID=""
CLOUDFLARE_ACCESS_KEY=""
CLOUDFLARE_R2_BUCKET_NAME=""
CLOUDFLARE_FILE_BASE_PATH=""- Start development server:
npm run dev- Run Prisma migrations:
npx prisma migrate dev- Open Prisma Studio:
npx prisma studioThis project is licensed under the MIT License.
For more information, reach out to Gabriel Sampaio.
