diff --git a/README.md b/README.md index 71336eb02..5b281dcea 100644 --- a/README.md +++ b/README.md @@ -1,109 +1,61 @@ # CREDEBL SSI Platform -This repository host codebase for CREDEBL SSI Platform backend. +Welcome to **CREDEBL** — an open-source Decentralized Identity & Verifiable Credentials platform, and part of the [Linux Foundation Decentralized Trust Project](https://lftprojects.org/). -## Pre-requisites +CREDEBL enables scalable, privacy-preserving digital identity systems. It powers real-world solutions like the **Decentralized National Digital ID for Bhutan and Papua New Guinea**, and **Sovio.id by AYANWORKS**. -Install Docker and docker-compose -
See: https://docs.docker.com/engine/install/ +--- -Install Node: >= 18.17.0 -
See: https://nodejs.dev/en/learn/how-to-install-nodejs/ +## ⚙️ Minimal Setup -**Install NestJS** -```bash -npm i @nestjs/cli@latest -``` +This section provides the absolute minimum steps to get the CREDEBL API Gateway running for development. For comprehensive setup instructions, API reference, and architectural details, please refer to our official documentation. -**Setup & run postgres** -Start the postgresql service using the docker: +### Prerequisites -```bash -docker run --name some-postgres -p 5432:5432 -e POSTGRES_PASSWORD= -e POSTGRES_USER=credebl -d postgres -``` +* **Node.js**: We recommend using Node.js version 18 LTS. +* **npm**: Node Package Manager (comes with Node.js). +* **Git**: For cloning the repository. +* **(One-time) Nest CLI**: If you don't have it installed globally, run: + ```bash + npm i -g @nestjs/cli + ``` -**Run prisma to generate db schema** +### Steps to Run -```bash -cd ./libs/prisma-service/prisma -npx prisma generate -npx prisma db push -``` +1. **Clone the Repository** + ```bash + git clone [https://github.com/credebl/platform.git](https://github.com/credebl/platform.git) + cd platform + ``` -**Seed initial data** +2. **Install Dependencies** + ```bash + npm install + ``` -```bash -cd ./libs/prisma-service -npx prisma db seed -``` +3. **Start the API Gateway (Development Mode)** + This command will start the API Gateway in watch mode, which is suitable for development. + ```bash + npm run start:gateway:dev + ``` -# Install NATS Message Broker -## Pull NATS docker image +--- -NATS is used for inter-service communication. The only pre-requisite here is to install docker. +## 📚 Documentation -``` -docker pull nats:latest -``` +For a full setup guide, detailed API reference, advanced configurations, and architectural documentation, please visit: +➡️ [https://docs.credebl.id](https://docs.credebl.id) -## Run NATS using `docker-compose` -The `docker-compose.yml` file is available in the root folder. +--- -``` -docker-compose up -``` +## 🤝 Contributing +We welcome contributions to CREDEBL! Please read our [Contribution Guide](CONTRIBUTING.md) before submitting a pull request. -## Run CREDEBL Micro-services +**Note**: All commits must be signed (Developer Certificate of Origin - DCO required). -```bash -npm install -``` +--- -## Configure environment variables in `.env` before you start the API Gateway +## 📄 License -## Running the API Gateway app -You can optionally use the `--watch` flag during development / testing. - -```bash -nest start [--watch] -``` - -## Starting the individual Micro-services - -### e.g. for starting `organization service` micro-service run below command in a separate terminal window - -```bash -nest start organization [--watch] -``` - -### Likewise you can start all the micro-services one after another in separate terminal window - -```bash -nest start user [--watch] -nest start ledger [--watch] -nest start connection [--watch] -nest start issuance [--watch] -nest start verification [--watch] -nest start agent-provisioning [--watch] -nest start agent-service [--watch] -``` - -## To access micro-service endpoints using the API Gateway. Navigate to - -``` -http://localhost:5000/api -``` - -## Credit - -The CREDEBL platform is built by AYANWORKS team. -For the core SSI capabilities, it leverages the great work from multiple open-source projects such as Hyperledger Aries, Bifold, Asker, Indy, etc. - -## Contributing - -Pull requests are welcome! Please read our [contributions guide](https://github.com/credebl/platform/blob/main/CONTRIBUTING.md) and submit your PRs. We enforce [developer certificate of origin](https://developercertificate.org/) (DCO) commit signing — [guidance](https://github.com/apps/dco) on this is available. We also welcome issues submitted about problems you encounter in using CREDEBL. - -## License - -[Apache License Version 2.0](https://github.com/credebl/platform/blob/main/LICENSE) \ No newline at end of file +This project is licensed under the Apache License 2.0. \ No newline at end of file