Basecamp is the web platform for managing and interacting with the Yeti Robotics offical Discord bot. It replaces Discord-only commands with a modern dashboard, providing administrators, mentors, students, and team members with an intuitive interface to manage robotics team data and update students attendance hours, outreach hours, and other things within its reach.
The project is built as a Turborepo monorepo to share code, tooling, and types across multiple applications and packages.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
- NestJS
- TypeScript
- REST API
- PostgreSQL
- Turborepo
- pnpm Workspaces
- biome.js
apps/
├── dashboard/ # Next.js web dashboard
└── api/ # NestJS backend (planned) to work as middle man from discord bot to the dashboards incoming requests
packages/
├── ui/ # Shared UI components
|-> shared biome configuration
└── typescript-config/ # Shared TypeScript configuration
- Node.js 20+
- pnpm 10+
Install dependencies:
pnpm installStart all development servers:
pnpm devBuild every application and package:
pnpm buildRun linting:
pnpm lint or using biome run lintFormat the repository:
pnpm formatThis repository uses Turborepo to orchestrate builds, development servers, and caching across applications and shared packages.
As the project grows, additional services such as the NestJS API and PostgreSQL database will integrate seamlessly into the existing workspace.
- Create a feature branch.
- Make your changes.
- Open a pull request.
- Ensure linting and builds pass before merging.
Private repository. All rights reserved.