Installation
Getting up and running with EventCatalog should take a few minutes (hopefully!).
Requirements
- Node.js version >= 20.5.1 or above (which can be checked by running
node -v
). You can use nvm for managing multiple Node versions on a single machine installed - Yarn version >= 1.5 (which can be checked by running
yarn --version
). Yarn is a performant package manager for JavaScript and replaces thenpm
client. It is not strictly necessary but highly encouraged.
Scaffold project website
The easiest way to install CloudCatalog is to use the command line tool that helps you scaffold a skeleton CloudCatalog website. You can run this command anywhere in a new empty repository or within an existing repository, it will create a new directory containing the scaffolded files.
npx @cloudcatalog/create-catalog@latest [name]
Example:
npx @cloudcatalog/create-catalog@latest my-cloudcatalog
Project structure
Assuming you named your site my-cloudcatalog
, you will see the following files generated under a new directory my-cloudcatalog/
:
my-cloudcatalog
├── data
│ ├── resources
│ │ └──lambda
│ │ └──payment-emails.md
│ │ └──process-payments.md
│ │ └──process-signups.md
│ │ └──services
│ │ └──Payment Service
│ │ │ └──index.md
│ │ └──User Service
│ │ └──index.md
│ │ └──teams
│ │ └──Payment Team
│ │ │ └──index.md
│ │ └──User Team
│ │ └──index.md
├── public
├── cloudcatalog.config.js
├── package.json
├── README.md
└── yarn.lock
Project structure rundown
/data/resources
- Contains the resource Markdown files within your Architecture.
- More details can be found in the resources guide
/data/services/
- Contains services. Each resource can be tagged with a service.
- More details can be found in the services guide
/data/teams/
- Contains teams. These are teams within your organisation.
- Teams can be assigned to resources or services.
- Users are assigned to teams.
- More details can be found in the teams guide
/public/
- Static directory. Any contents inside here will be copied into the root of the final
build
directory. - You can add your own logo here and favicon.
- More details can be found in the customise guide
- Static directory. Any contents inside here will be copied into the root of the final
/cloudcatalog.config.js
- A config file containing the site configuration.
- Read the API docs
/package.json
- File required for your application to work.
Running the development server
To preview your changes as you edit the files, you can run a local development server that will serve your website and reflect the latest changes.
cd my-cloudcatalog
npm run dev
By default, a browser window will open at http://localhost:3000.
🎉 Congratulations! You have just created your first CloudCatalog site!
Adding resources to your Catalog
Using the @cloudcatalog/cli
you can import AWS resources into your Catalog.
Head over to the resource guide to get started.
CloudCatalog is currrently new and only supports importing Lambda functions and Step Functions state machines at the moment.
We are looking for contributors to help us scale and import many other resources.
Join the Discord channel for more information.
Building your catalog
CloudCatalog uses NextJS under the hood. To build the website run the following command:
npm run build
This will output your catalog to the out
directory.
CloudCatalog is a static website that can be hosted anywhere. See deployment docs for more information.