Skip to Content
DocumentationTechstack

Techstack

This document describes the technology stack used in different profiles of the project.

RealWorld API

The RealWorld API is a standard implementation of the RealWorld specification.

Backend Stack

Key Features

  • RESTful API endpoints
  • JWT-based authentication
  • PostgreSQL database integration
  • TypeORM for database operations
  • Swagger documentation
  • Request validation
  • Error handling
  • Logging with Winston

RealWorldX API

The RealWorldX API is an extended version with additional features and optimizations.

Backend Stack

Key Features

  • All features from RealWorld API
  • OAuth2 authentication support
  • Redis caching for performance optimization
  • MySQL database integration
  • Enhanced security features
  • Rate limiting
  • Request validation
  • Advanced error handling
  • Performance monitoring with New Relic
  • Error tracking with Sentry

Web Application

The web application is the frontend implementation.

Frontend Stack

Key Features

  • Modern React with hooks
  • Responsive design
  • Component-based architecture
  • State management with Redux
  • Unit and integration testing
  • TypeScript for type safety
  • Tailwind CSS for styling
  • Vite for fast development

Shared Packages

The project includes several shared packages used across different profiles:

API Package (@repo/api)

  • Common API utilities
  • Shared DTOs
  • API response types
  • Error handling
  • Validation decorators
  • Common interfaces

Database Packages

TypeORM Package (@repo/database-typeorm)

  • TypeORM configurations
  • Database migrations
  • Entity definitions
  • Repository patterns
  • Query builders

MySQL Package (@repo/mysql-typeorm)

  • MySQL specific configurations
  • MySQL migrations
  • MySQL entity definitions
  • MySQL query optimizations

Nest Common Package (@repo/nest-common)

  • Shared NestJS modules
  • Common services
  • Utility functions
  • Custom decorators
  • Guards and interceptors
  • Exception filters

UI Package (@repo/ui)

  • Reusable React components
  • Shared styles
  • Design system
  • Component documentation
  • Storybook integration

Development Tools

Last updated on