Skip to content

xStrixU/microsoft-teams-clone

Repository files navigation

Microsoft Teams Clone

Clone of the Microsoft Teams platform.

Live preview

You can try live preview here: https://microsoft-teams-clone.projectcode.pl

Credentials:

Email Password
live.preview@gmail.com CshRWR7IfyCiP71K

Technology stack

Technology stack used to create this application:

Technology Usage
TypeScript Programming languge
React User Interface Library
Next.js Framework & SSR
TailwindCSS CSS Framework
Storybook UI Component Development
TanStack Query Data Fetching & State Management
React Hook Form Forms Handling
Socket.IO Real-time communication
NestJS Backend framework
Prisma Database ORM
PostgreSQL Relational Database
Redis In-memory data store
Docker Containerization Platform
Vitest Testing Framework
Supertest E2E API testing library

Installation and usage

Installation

  1. Clone the repository:
    git clone https://github.com/xStrixU/microsoft-teams-clone.git
  2. Navigate to the project directory:
    cd microsoft-teams-clone
  3. Install dependencies:
    pnpm install

Usage

  1. Go to the openapi-types package:
    cd packages/openapi-types
  2. Copy the .env.example file to the .env file:
    cp .env.example .env
  3. Go back to the root directory:
    cd ../..
  4. Build all packages:
    pnpm turbo run build --filter="./packages/*"
  5. Go to the Web app:
    cd apps/web
  6. Copy the .env.local.example file to the .env.local file:
    cp .env.local.example .env.local
  7. Go to the API app:
    cd ../api
  8. Copy the .env.example file to the .env file:
    cp .env.example .env

Usage is different depending on the selected mode: development or production.

Development mode:

  1. Go to the root directory and run apps in development mode:
    pnpm dev

Production mode:

  1. Go to the root directory and build apps:
    pnpm build
  2. Go to the API app root directory and run it:
    pnpm start:prod
    and go to the Web app root directory and run it:
    pnpm start

Preview

image

Join or create a team: image

Chat with other people: image

License

MIT License, see LICENSE.