Skip to content

Commit 1afe97f

Browse files
authored
Feat/load tests (#412)
* feat: add `X-ENAME` header to eID-Wallet * chore: split dockerfiles * chore: disable logging on psql container * chore: add frontends to docker files * chore: add more profiles and add docs * chore: core test suite * chore: core test suite * tests: add social tests * chore: ran format * chore: fix tests setup * chore: address firestore watcher issues
1 parent 0198358 commit 1afe97f

File tree

94 files changed

+6120
-789
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+6120
-789
lines changed

README.md

Lines changed: 78 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,145 +1,93 @@
1-
<!-- # Turborepo starter
2-
3-
This Turborepo starter is maintained by the Turborepo core team.
4-
5-
## Using this example
6-
7-
Run the following command:
8-
9-
```sh
10-
npx create-turbo@latest
11-
```
12-
13-
## What's inside?
14-
15-
This Turborepo includes the following packages/apps:
16-
17-
### Apps and Packages
18-
19-
- `docs`: a [Next.js](https://nextjs.org/) app
20-
- `web`: another [Next.js](https://nextjs.org/) app
21-
- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
22-
- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
23-
- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
24-
25-
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
26-
27-
### Utilities
28-
29-
This Turborepo has some additional tools already setup for you:
30-
31-
- [TypeScript](https://www.typescriptlang.org/) for static type checking
32-
- [ESLint](https://eslint.org/) for code linting
33-
- [Prettier](https://prettier.io) for code formatting
34-
35-
### Build
36-
37-
To build all apps and packages, run the following command:
38-
39-
```
40-
cd my-turborepo
41-
pnpm build
42-
```
43-
44-
### Develop
45-
46-
To develop all apps and packages, run the following command:
1+
# MetaState Prototype
472

3+
## Docker Development Environment
4+
5+
### Port Assignments
6+
7+
#### Core Services (Always Running)
8+
- **4321** - Registry Service
9+
- **3001** - evault-core Provisioning API (Express)
10+
- **4000** - evault-core GraphQL/HTTP API (Fastify)
11+
- **5432** - PostgreSQL Database
12+
- **7474** - Neo4j HTTP Interface
13+
- **7687** - Neo4j Bolt Protocol
14+
15+
#### Platform APIs
16+
- **3000** - Blabsy W3DS Auth API
17+
- **3002** - Cerberus API
18+
- **3003** - Group Charter Manager API
19+
- **4001** - DreamSync API
20+
- **4002** - eVoting API
21+
- **5000** - eReputation Service
22+
- **5001** - Marketplace Service
23+
- **1111** - Pictique API
24+
25+
#### Frontend Services
26+
- **8080** - Blabsy Frontend
27+
- **5173** - Pictique Frontend
28+
- **3004** - Group Charter Manager Frontend
29+
- **3005** - eVoting Frontend
30+
31+
### Docker Compose Profiles
32+
33+
#### `socials` Profile
34+
Runs core services plus social media platforms:
35+
- Core: registry, evault-core, postgres, neo4j
36+
- Pictique API + Frontend
37+
- Blabsy API + Frontend
38+
39+
#### `charter-blabsy` Profile
40+
Runs core services plus charter and blabsy:
41+
- Core: registry, evault-core, postgres, neo4j
42+
- Group Charter Manager API + Frontend
43+
- Blabsy API + Frontend
44+
- Cerberus
45+
46+
#### `all` Profile
47+
Runs all services (core + all APIs + all frontends)
48+
49+
### Usage
50+
51+
Start all services:
52+
```bash
53+
pnpm dev:docker:all
4854
```
49-
cd my-turborepo
50-
pnpm dev
51-
```
52-
53-
### Remote Caching
54-
55-
> [!TIP]
56-
> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).
57-
58-
Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
5955

60-
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:
61-
62-
```
63-
cd my-turborepo
64-
npx turbo login
56+
Start specific profile:
57+
```bash
58+
pnpm dev:docker:socials
59+
pnpm dev:docker:charter-blabsy
6560
```
6661

67-
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
68-
69-
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
70-
71-
```
72-
npx turbo link
62+
Or use docker compose directly:
63+
```bash
64+
docker compose -f dev-docker-compose.yaml --profile socials up --watch
65+
docker compose -f dev-docker-compose.yaml --profile charter-blabsy up --watch
7366
```
7467

75-
## Useful Links
76-
77-
Learn more about the power of Turborepo:
78-
79-
- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
80-
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
81-
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
82-
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
83-
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
84-
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference) -->
85-
86-
# MetaState Prototype
87-
88-
## Progress Tracker
89-
90-
| Project | Status |
91-
| ------------------------------------------ | ----------- |
92-
| [W3ID](./infrastructure/w3id/) | In Progress |
93-
| [eID Wallet](./infrastructure/eid-wallet/) | In Progress |
94-
| EVault Core | Planned |
95-
| Web3 Adapter | Planned |
96-
97-
## Documentation Links
98-
99-
| Documentation | Description | Link |
100-
| ---------------------------- | ------------------------------------------- | -------------------------------------------------------------------------- |
101-
| MetaState Prototype | Main project README | [README.md](./README.md) |
102-
| W3ID | Web 3 Identity System documentation | [W3ID README](./infrastructure/w3id/README.md) |
103-
| eVault Core | Core eVault system documentation | [eVault Core README](./infrastructure/evault-core/README.md) |
104-
| eVault Core W3ID Integration | W3ID integration details for eVault Core | [W3ID Integration](./infrastructure/evault-core/docs/w3id-integration.md) |
105-
| eVault Provisioner | Provisioning eVault instances documentation | [eVault Provisioner README](./infrastructure/evault-provisioner/README.md) |
106-
| Bug Report Template | GitHub issue template for bug reports | [Bug Report Template](./.github/ISSUE_TEMPLATE/bug-report.md) |
107-
10868
## Project Structure
10969

11070
```
11171
prototype/
112-
├─ .vscode/
113-
│ └─ settings.json
11472
├─ infrastructure/
11573
│ ├─ evault-core/
116-
│ │ └─ package.json
117-
│ └─ w3id/
118-
│ └─ package.json
119-
├─ packages/
120-
│ ├─ eslint-config/
121-
│ │ ├─ base.js
122-
│ │ ├─ next.js
123-
│ │ ├─ package.json
124-
│ │ ├─ react-internal.js
125-
│ │ └─ README.md
126-
│ └─ typescript-config/
127-
│ ├─ base.json
128-
│ ├─ nextjs.json
129-
│ ├─ package.json
130-
│ └─ react-library.json
74+
│ ├─ w3id/
75+
│ └─ web3-adapter/
13176
├─ platforms/
132-
│ └─ .gitkeep
133-
├─ services/
134-
│ ├─ ontology/ (MetaState Ontology Service)
135-
│ │ └─ package.json
136-
│ └─ web3-adapter/ (MetaState Web-3 Adapter Service)
137-
│ └─ package.json
138-
├─ .gitignore (Ignores files while upstream to repo)
139-
├─ .npmrc (Dependency Manager Conf)
140-
├─ package.json (Dependency Management)
141-
├─ pnpm-lock.yaml (Reproducability)
142-
├─ pnpm-workspace.yaml (Configures MonoRepo)
143-
├─ README.md (This File)
144-
└─ turbo.json (Configures TurboRepo)
77+
│ ├─ registry/
78+
│ ├─ pictique-api/
79+
│ ├─ pictique/
80+
│ ├─ blabsy-w3ds-auth-api/
81+
│ ├─ blabsy/
82+
│ ├─ group-charter-manager-api/
83+
│ ├─ group-charter-manager/
84+
│ ├─ evoting-api/
85+
│ ├─ eVoting/
86+
│ ├─ dreamsync-api/
87+
│ ├─ cerberus/
88+
│ ├─ ereputation/
89+
│ └─ marketplace/
90+
├─ docker/
91+
│ └─ Dockerfile.* (Dedicated Dockerfiles for each service)
92+
└─ dev-docker-compose.yaml (Docker Compose configuration)
14593
```

dev-docker-compose.README.md

Lines changed: 0 additions & 89 deletions
This file was deleted.

0 commit comments

Comments
 (0)