Skip to content

Commit

Permalink
feat: add middleware (#810)
Browse files Browse the repository at this point in the history
Signed-off-by: hxtree <[email protected]>
  • Loading branch information
hxtree authored Feb 11, 2024
1 parent 4a2a206 commit cab10d0
Show file tree
Hide file tree
Showing 35 changed files with 411 additions and 275 deletions.
10 changes: 10 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# CI/CD

- **DevOps CI/CD:** The repository includes a robust DevOps pipeline for
continuous integration and continuous deployment. Automated testing, build,
and deployment processes ensure a smooth and reliable software delivery
lifecycle.

Services are released on
[Github](https://github.com/hxtree/cats-cradle/releases). Reusable libraries
are published on [NPM](https://www.npmjs.com/search?q=%40cats-cradle).
42 changes: 9 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,14 @@
[![Codacy Coverage](https://app.codacy.com/project/badge/Coverage/8024531285164025aef972fcb059ea74)](https://app.codacy.com/gh/hxtree/cats-cradle)
[![GitHub Stars](https://img.shields.io/github/stars/hxtree/cats-cradle?style=social)](https://github.com/hxtree/cats-cradle/stargazers)

An **open-souce enterprise monorepo** designed to provide a modular and scalable
architecture for enterprises looking to **accelerate** using modern software
devops practices.

## Key Features

- **Microservices Architecture:** The repository is organized into modular
microservices, each focusing on specific business functionalities. This design
promotes maintainability, scalability, and ease of deployment.

- **Event-Driven Design:** The microservices communicate through events,
allowing for loosely coupled components and enabling efficient handling of
business processes. The use of event-driven microservices enables flexibility,
scalability, and responsiveness to changing business needs.

- **DevOps CI/CD:** The repository includes a robust DevOps pipeline for
continuous integration and continuous deployment. Automated testing, build,
and deployment processes ensure a smooth and reliable software delivery
lifecycle. Services are released on
[Github](https://github.com/hxtree/cats-cradle/releases). Reusable libraries
are published on [NPM](https://www.npmjs.com/search?q=%40cats-cradle).

- **Platform as a Service (PaaS):** Leveraging a PaaS foundation simplifies
infrastructure management and allows developers to focus on writing code
without worrying about the underlying infrastructure.

- **Infrastructure as Code (IaC):** The entire infrastructure is defined as
code, allowing for version control, easy replication, and consistent
environments across different stages of the development lifecycle.

This repository functions as a foundation for architecting monorepos. In
addition, many example packages are actively used in the development of a
nostalgic co-op RPG.
Welcome to our open-source enterprise monorepo! Designed to provide a modular
and scalable architecture, this repository is ideal for enterprises aiming to
accelerate their adoption of modern software DevOps practices. It serves as a
foundation for architecting monorepos and features numerous example packages
actively used in the development of a nostalgic cooperative RPG. Whether you're
starting a new project or looking to optimize your existing architecture, this
repository offers comprehensive guidance for fostering innovation and efficiency
in software development.

## Getting Started

Expand Down Expand Up @@ -116,6 +91,7 @@ AWS.
rush cdk:bootstrap
rush cdk:deploy --to tag:deploy-platform
rush cdk:deploy --to tag:services
rush cdk:deploy --to tag:middleware
rush cdk:deploy --to tag:clients
```

Expand Down
30 changes: 27 additions & 3 deletions clients/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,28 @@
# clients
# Clients

These are frontend clients. Each client connects to services often through a
dedicated backend for frontend.
This directory contains frontend client applications. Each client connects to
backend services, often through a dedicated Backend for Frontend (BFF).

## Guidelines

- **Dependency on Backend Services**: Clients rely on backend services for data
and functionality. Ensure that necessary backend services are deployed and
accessible before deploying frontend clients.

- **Interaction with Backend for Frontend (BFF)**: Clients typically interact
with backend services through a dedicated BFF. Ensure that the appropriate BFF
is configured and accessible for each client application.

- **User Interface**: Client applications should primarily focus on providing a
user-friendly interface and user experience. They may utilize frameworks and
libraries to achieve this goal.

- **Independence**: Each client application should be independent and should not
have dependencies on other client applications. Modifications to a client
application should be confined to its project folder and configuration files
within this directory.

### Vite

We have moved off of Webpack and NextJs. Vercel packages should be avoided. Vite
is the prefered due to speed and developer experience.
Loading

0 comments on commit cab10d0

Please sign in to comment.