Skip to content

NoMongo: Replace Base64 Storage with MinIO Client in OrgPostCard.tsx #3721

Open
@NishantSinghhhhh

Description

@NishantSinghhhhh

Problem
OrgPostCard.tsx currently uses Base64 encoding for storing images, leading to increased memory usage and slower load times.

Solution
Use MinIO client to upload images and store only file URLs, optimizing performance and reducing payload size.

Alternatives Considered

  • Keeping Base64 (inefficient for large files).
  • Using third-party storage services (MinIO provides a self-hosted alternative).

Approach

  1. Remove Base64 encoding.
  2. Implement MinIO file uploads and store URLs in the database.
  3. Ensure proper error handling and security measures.

Additional Context
This update will improve performance, scalability, and user experience for handling post images.


NOTE

  1. We recently discovered a flaw in the code base where there are some XSS and CORS vulnerabilities. This occurs when the API and Admin servers run on different machines.

  2. You will notice this if you configure your Admin app on your local machine to use the API running on https://test.talawa.io/graphql.

  3. The errors in your browser will look like this:

    Image

  4. As part of this issue you will need to ensure that the browser only interacts with the API through the Admin server and never with the API direclty.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions