ashishkarki / DijitallNotarer

DijitallNotarer is a digital notarization platform using NestJS (backend), Next.js (frontend), and GraphQL APIs. It integrates LocalStack for AWS services, features a monorepo with Yarn workspaces, and includes CI/CD with GitHub Actions. Ideal for showcasing serverless and modern web tech stacks.
MIT License
0 stars 0 forks source link

`MinIO, OpenFaas` etc based setup for AWS eqivalence #9

Closed ashishkarki closed 1 month ago

ashishkarki commented 1 month ago

switching to MinIO and OpenFaaS as replacements for AWS S3 and Lambda is a great idea! These open-source alternatives will allow you to continue with the core functionality of the project—digitally notarizing documents—without the complexities or costs of AWS. Additionally, using PostgreSQL with Prisma for metadata storage is an excellent choice, as it integrates smoothly with modern backend frameworks like NestJS and GraphQL.

Updated Stack Overview:

  1. MinIO (as a replacement for S3)

    • An open-source object storage solution compatible with S3 APIs.
    • Store your notarized documents here.
  2. OpenFaaS (as a replacement for Lambda)

    • A serverless framework that allows you to deploy functions easily, similar to AWS Lambda.
    • Use it to handle any document processing or notarization tasks.
  3. PostgreSQL + Prisma (as a replacement for DynamoDB)

    • PostgreSQL will store your metadata (e.g., document IDs, upload timestamps, notarization status).
    • Prisma, as the ORM, makes interacting with PostgreSQL simple and type-safe within your NestJS backend.
  4. NestJS (for the backend service)

    • Continues to handle the GraphQL API and service logic.
  5. Next.js (for the frontend)

    • Will remain the frontend interface, potentially using Apollo Client to communicate with your GraphQL API.
ashishkarki commented 1 month ago

Dang, this has taken ages to move..i haven't coded in 2-3 days with what Naati preparation, home stuff, etc. I am currently updating the service file to use minio first and then will do OpenFaas later

ashishkarki commented 1 month ago

i have successfully implemented minio upload to a bucket finally so i merged this into develop branch and closing this. the OpenFaas step will be done later after some more flows.