Skip to content

lingodotdev/interviewkit

Repository files navigation

InterviewKit

A modern full-stack monorepo project showcasing best practices in TypeScript development, featuring API services, CLI tools, and web applications.

Quick Start

Start Services

# Start MongoDB and Redis
docker compose up -d

# Stop services
docker compose down

# Stop and remove data
docker compose down -v

Install Dependencies

pnpm install

Development

# Start all services in parallel with hot reload (API + Web)
pnpm dev

# Run CLI
cd apps/cli
pnpm cli

The pnpm dev command uses Turbo's terminal UI to run all development servers in parallel with hot reload. You can switch between process outputs using the interactive interface.

Connect from TypeScript

MongoDB

import { MongoClient } from 'mongodb';

const client = new MongoClient('mongodb://admin:password@localhost:27017');
await client.connect();

Redis

import { createClient } from 'redis';

const redis = createClient({
  url: 'redis://localhost:6379'
});
await redis.connect();

Materials

Development Environment & Tools

Infrastructure & Deployment

Package Management & Build

  • PNPM - Fast, disk space efficient package manager
  • PNPM Workspaces - Monorepo workspace management
  • Turbo - High-performance build system for monorepos

Backend

Runtime & Language

  • TSX - TypeScript execute - Run TypeScript & ESM files without compilation
  • TypeScript - Typed JavaScript superset

CLI Development

  • Commander.js - Complete solution for node.js command-line interfaces
  • Consola - Elegant console logger for Node.js and Browser

Utilities

  • p-limit - Run multiple promise-returning & async functions with limited concurrency
  • P-* Libraries - Promise utility collection by Sindre Sorhus

Frontend

  • Vite - Next generation frontend tooling
  • TanStack Router - Modern and scalable routing for React applications
  • shadcn/ui - Beautifully designed components built with Radix UI and Tailwind CSS
  • Tailwind CSS - Utility-first CSS framework
  • Motion - Production-ready animation library for React (formerly Framer Motion)

Async Patterns & Streaming

Books

Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published