Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoMongo: Replace Base64 Storage with MinIO Client in VenueModal.tsx #3725

Open
NishantSinghhhhh opened this issue Feb 22, 2025 · 6 comments
Open

Comments

@NishantSinghhhhh
Copy link
Contributor

NishantSinghhhhh commented Feb 22, 2025

Problem
VenueModal.tsx currently stores images using Base64 encoding, leading to high memory usage and slower performance.

Solution
Replace Base64 encoding with MinIO client for direct file uploads, storing only file URLs.

Alternatives Considered

  • Keeping Base64 (causes increased payload size).
  • Using external cloud storage (MinIO provides a self-hosted alternative).

Approach

  1. Remove Base64 handling logic.
  2. Implement MinIO upload for venue images.
  3. Store and retrieve file URLs efficiently.

Additional Context
This update will enhance performance, reduce data transfer size, and improve storage efficiency.


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 directly.

@palisadoes palisadoes changed the title Feature Request : Replace Base64 Storage with MinIO Client in VenueModal.tsx NoMongo: Replace Base64 Storage with MinIO Client in VenueModal.tsx Feb 24, 2025
@igennova
Copy link

Can i work on this?

@mpdesai90
Copy link

Our policy is to assign no more than two issues to each contributor across all repositories. This way everyone gets a chance to participate in the projects. We sometimes give exceptions for more urgent cases and sometimes we lose track, but the policy stands. You have reached your limit, please wait until your existing issues are closed before requesting more issues. You could unassign yourself from one of the other issues too.

@aadhil2k4
Copy link
Contributor

Please assign this issue to me

@igennova
Copy link

Our policy is to assign no more than two issues to each contributor across all repositories. This way everyone gets a chance to participate in the projects. We sometimes give exceptions for more urgent cases and sometimes we lose track, but the policy stands. You have reached your limit, please wait until your existing issues are closed before requesting more issues. You could unassign yourself from one of the other issues too.

i have submited the pr for that issues that's why i am asking for this new issue

@iamanishx
Copy link

@aadhil2k4 PTAL https://docs.google.com/document/d/18nFPcaui_jEdYUq_mJ06mcJos7rglwFpG_irggeTj6Y/edit?tab=t.0

@palisadoes
Copy link
Contributor

How's progress on this? It needs to be completed as a GSoC prerequisite.

@palisadoes palisadoes added the good first issue Good for newcomers label Mar 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

6 participants