This is the root Turborepo for Skill Score AI, an AI-powered coaching analysis platform that includes both frontend and backend applications.
Run the following command to create a new Turborepo:
npx create-turbo@latestThis Turborepo includes the following packages/apps:
apps/frontend: Skill Score AI React frontend (Vite + Recoil)apps/backend-nestjs: Skill Score AI NestJS backend (API for user authentication, file uploads, and data management)apps/backend-fastapi: Skill Score AI FastAPI backend (AI-driven coaching analysis and feedback)
@repo/ui: A shared React component library@repo/eslint-config: ESLint configurations (includeseslint-config-prettier)@repo/typescript-config: TypeScript configurations used throughout the monorepo
Each package/app is 100% TypeScript (except the FastAPI backend, which is Python-based).
✅ User Authentication (JWT-based authentication)
✅ File Upload & Management (Azure Storage integration)
✅ Coaching Analysis via AI (OpenAI GPT & AssemblyAI integration)
✅ Real-time Feedback (AI-generated coaching insights)
✅ PDF Report Generation (React PDF Renderer)
✅ Recoil State Management (Efficient frontend data handling)
✅ PostgreSQL Database (Using Prisma ORM)
✅ FastAPI + NestJS Hybrid Backend (Optimized architecture)
This Turborepo has additional tools already set up:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- TurboRepo for monorepo optimization
- Clone the repository
git clone https://github.com/shray-jayn/Skill-Score-AI.git
cd skill-score-ai- Install dependencies
pnpm install-
Setup environment variables Create a
.envfile in each app (backend-nestjs,backend-fastapi, andfrontend) and configure them with required values (database credentials, API keys, JWT secrets, etc.). -
Run database migrations (NestJS Backend)
pnpm prisma migrate devTo build all apps and packages, run:
pnpm buildTo develop all apps and packages, run:
pnpm devThis will start:
- Frontend at
http://localhost:5173 - NestJS Backend at
http://localhost:3000/api - FastAPI Backend at
http://localhost:8000
Turborepo can use Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo caches locally. To enable Remote Caching, you need a Vercel account. If you don't have an account, create one and enter the following commands:
cd skill-score-ai
npx turbo loginThis will authenticate the Turborepo CLI with your Vercel account.
Next, link your Turborepo to Remote Cache by running:
npx turbo linkLearn more about Turborepo:
This project is licensed under the MIT License. See the LICENSE file for details.
Have questions or suggestions?
Reach out via shrayjayn1@gmail.com or open an issue.