Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pagopa-archive/io-web-profile-backend
IO Web profile backend repository
https://github.com/pagopa-archive/io-web-profile-backend
io web
Last synced: 6 days ago
JSON representation
IO Web profile backend repository
- Host: GitHub
- URL: https://github.com/pagopa-archive/io-web-profile-backend
- Owner: pagopa-archive
- Archived: true
- Created: 2023-07-19T10:51:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-15T06:01:58.000Z (26 days ago)
- Last Synced: 2025-02-05T02:17:29.457Z (6 days ago)
- Topics: io, web
- Language: TypeScript
- Homepage:
- Size: 825 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# io-web-profile-backend
This repository contains the code of the backend used by the io-web-profile web platform.
## Technologies
[![My Skills](https://skillicons.dev/icons?i=azure,nodejs,ts)](https://skillicons.dev)This is Node.js Azure Function.
## Prerequisites
In order to run the ``io-web-profile-backend`` locally you need the following tool installed on your machine.- ``Azure functions core tools``
- ``Node.js``
- ``yarn``The preferred way to set up the local environment is using nodenv to manage Node.js installation and corepack (included with Node.js) to manage the installation of yarn.
## Structure
The project is structured as follows:
```
io-web-profile-backend
|-- .devops
|-- .github
|-- .vscode
|-- openapi
|-- docker
|-- utils
| |-- cosmosdb.ts
| |-- config.ts
|-- Function_01
| |--__test__
| |-- function.json
| |-- handler.ts
| |-- index.ts
|
|-- Function_02
|-- Function_..
|
|-- .env
|-- package.json
|-- docker-compose.yaml
|-- host.json
|-- local.settings.json
```
- `.devops`: This folder contains files related to the development and operations (DevOps) processes for the project.- `.github`: This folder is related to GitHub-specific configuration.
- `.vscode`: This folder contain Visual Studio Code-specific configuration files.
- `openapi`: This folder contain OpenAPI specifications.
- `docker`: This folder contain Dockerfile(s).
- `utils`: This folder contains utility files that are likely used across different parts of the project.
- `cosmosdb.ts`: Contains helper functions to work with Cosmos DB.
- `config.ts`: Contains configuration settings for the application or service.
- `Function_01, Function_02, etc.`: These folders represent different functions, they contain the following files:
- `__ test __`: This folder contain test files.
- `function.json`: Configuration file specific to Azure Functions. It defines the function's bindings, triggers, and other settings.
- `handler.ts`: File that contains the main logic for the function's execution.
- `index.ts`: A File that exports the function's handler and is the entry point for the function.
- `.env`: Store environment variables that are specific to the backend application.- `package.json`: Contains metadata about the project as well as dependencies and scripts for building, testing, and running the application.
- `docker-compose.yaml`: Docker Compose configuration file.
- `host.json`: Configuration file specific to Azure Functions. It contains global settings and configurations that apply to all functions in the project.- `local.settings.json`: Configuration file specific to Azure Functions. It contains settings used when running the functions locally, such as local development environment connection strings and other configurations.
## ENV variables
The following table contains the required ENV variables that the function require
| Variable name | Description | type |
|---------------------------------|-----------------------------------------------------|--------|
| FF_API_ENABLED | Api Auth Mode (NONE, BETA, CANARY, ALL) | string |
| BETA_TESTERS | Beta tester fiscal code separated by comma | string,string,string,... |
| BEARER_AUTH_HEADER | Req Auth Header Param where Bearer token is sotored | string|
| EXCHANGE_JWT_PRIMARY_PUB_KEY | Exchange JWT Public Key (token validation) | string|
| EXCHANGE_JWT_SECONDARY_PUB_KEY | (Optional) Exchange JWT Public Key (token validation) | string|
| EXCHANGE_JWT_PRIMARY_PRIVATE_KEY| Exchange JWT Private Key (token generation) | string|
| EXCHANGE_JWT_ISSUER | Exchange JWT ISSUER | string|
| EXCHANGE_JWT_TTL | Exchange JWT TTL in seconds | string|
| MAGIC_LINK_JWE_PRIMARY_PUB_KEY | Magic Link JWE Public Key (token genereation) | string|
| MAGIC_LINK_JWE_SECONDARY_PUB_KEY| (Optional) Magic Link JWE Private Key (token generation) | string|
| MAGIC_LINK_JWE_PRIMARY_PRIVATE_KEY| Magic Link JWE Private Key (token validation) | string|
| MAGIC_LINK_JWE_SECONDARY_PRIVATE_KEY| (Optional) Magic Link JWE Private Key (token validation) | string|
| MAGIC_LINK_JWE_ISSUER | Magic Link JWE ISSUER | string|
| MAGIC_LINK_JWE_TTL | Magic Link JWE in seconds | string|
| MAGIC_LINK_BASE_URL | Magic Link baseUrl | string|
| HUB_SPID_LOGIN_JWT_PUB_KEY | Hub Spid Login JWT Public Key (token validation) | string|
| HUB_SPID_LOGIN_JWT_ISSUER | Hub Spid Login ISSUER | string|
| HUB_SPID_LOGIN_CLIENT_BASE_URL | Hub Spid Login baseUrl | string|
| FAST_LOGIN_API_KEY | Fast Login Api Key | string|
| FAST_LOGIN_CLIENT_BASE_URL | Fast Login baseUrl | string|
| FUNCTIONS_APP_API_KEY | Io Functions App Api Key | string|
| FUNCTIONS_APP_CLIENT_BASE_URL | Io Functions App baseUrl | string|
| AUDIT_LOG_CONNECTION_STRING | Audit logs blob connection string | string|
| AUDIT_LOG_CONTAINER | Audit logs container | string|
| BLACKLISTED_JTI_LIST | (Optional) Magic Link IDs blacklist | string,string,string,... |