Purple Stack

screenshot of Purple Stack
nextjs

Serverless monorepo stack powering all Purple Apps and your apps

Overview:

Purple Stack is a devstack that is designed for developing large and complex serverless applications on AWS. It is built based on the experience of the Purple team with over 5 years of serverless app development. The stack includes a combination of frontend and backend components, such as Next.js, AWS AppSync, Amazon API Gateway, and more. It also offers features like TypeScript, Serverless Framework, Monorepo, Code Linting, GraphQL API, REST API, CI/CD, and many others.

Features:

  • TypeScript: Allows developers to write serverless applications using TypeScript, providing type safety and better code organization.
  • Serverless Framework: Utilizes the Serverless Framework to simplify the deployment and management of serverless applications on AWS.
  • Next.js: A popular JavaScript framework for building server-side rendered React applications, used for the frontend part of the stack.
  • React.js: A JavaScript library for building user interfaces.
  • Webpack: A module bundler that enables developers to bundle and optimize their JavaScript code.
  • Monorepo - Lerna: Enables managing multiple related projects in a single repository, improving code sharing and collaboration.
  • Code Linting - ESlint + Prettier: Enforces code quality and conventions by automatically identifying and fixing common errors and formatting issues.
  • GraphQL API - AWS AppSync: Offers a powerful and flexible API for querying and manipulating data, using AWS AppSync.
  • REST API - Amazon API Gateway: Provides a scalable and serverless way to build RESTful APIs, utilizing Amazon API Gateway.
  • Complex background processes - AWS Step Functions: Allows developers to define and orchestrate complex serverless workflows using AWS Step Functions.
  • IaC - CloudFormation: Uses AWS CloudFormation to define and provision AWS resources as code, ensuring infrastructure consistency and reliability.
  • CI/CD - CircleCI: Supports continuous integration and continuous deployment, enabling automated testing and deployments.
  • Dependencies patching - Renovate: Automates the process of updating and patching dependencies, ensuring applications are up-to-date and secure.
  • IaC Security Scanning - Checkov: Performs security scanning and checks on Infrastructure as Code (IaC) templates to identify and address security vulnerabilities.
nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.