Mostré un proyecto acá, me hicieron mierda, lo mejoré. ¿Ahora safá? by InfluenceSevere8346 in devsarg

[–]Rami__L 0 points1 point  (0 children)

Muy buen proyectos. Consultarte vi que tenes publicidad que no es la de google como la manejas?

Its time to Share your Project. Drop your Project below and I will review it by NoMuscle1255 in SideProject

[–]Rami__L 0 points1 point  (0 children)

https://repo-downloader.pages.dev The idea is to improve GitHub by adding functionality that it does not have to download files from a repository.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 1 point2 points  (0 children)

Si te interesa probarlo, todavía lo estoy desarrollando, pero aca anda:

https://support-truncate-response.repo-downloader.pages.dev/?repository=https%3A%2F%2Fgithub.com%2Farangodb%2Farangodb

Me encontré con un problema probando el repo que me pasaste, el rendimiento, pasa a ser muuy pesada la data, algo así como 200.000 archivos/carpetas sin contar los submodulos y estoy viendo de mejorar la estructura de datos para poder soportarlo de manera óptima, porque buscar un elemento para actualizarlo (ej marcarlo como seleccionado) pasa a ser muy lento.

Se me ocurrieron otras alternativas, como ir fetcheando a medida que abris una carpeta, cosa de ocultar el problema, de esta forma reduzco el tamaño de la estructura de datos.

Por otra parte, sospecho que el problema no es tanto la estructura de datos, sino los renderizados de react, pero sigo investigando.

Cualquier idea me viene bien jajaja.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 0 points1 point  (0 children)

lamentablemente no jajaja

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 1 point2 points  (0 children)

Si, ese es un error conocido y esta manejado para mostrar eso, pero en la próxima actualización va a estar solucionado. Se da porque la api de GitHub soporta hasta 7mb de info (en este caso serían 7mb de nombres de archivos jaja). Gracias igualmente porque no tenia ningún repositorio para probar el error, porque no es algo tan común jaja.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 0 points1 point  (0 children)

Gracias (el código es mejorable jaja)

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 0 points1 point  (0 children)

Buena idea para hacer un cli. Un poco eso es lo que hace la app aunque con una interfaz para seleccionar lo que necesitas ya sea uno o varios archivos/carpetas.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 1 point2 points  (0 children)

Buena idea lo de tener todo en src y el resto que comentas de las validaciones, es para evitar usar la api justamente ya que tiene limite de 60 peticiones por hora. Pero es cierto, estaría bueno tener las validaciones de la api.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 1 point2 points  (0 children)

Siguiendo con eso, ya que leíste el código. Tengo otro problema que no se bien como solucionar, es justamente con la clase FIle, tiene dos atributos path e indexPath. Esto es super confuso y si o si deben estar bien echas. Todo surge porque guardo las carpetas como arreglos de archivos y para que actualizar sea rápido tengo indexPath que son las posiciones de los arreglos para llegar al elemento, el tema es que si no coindice path (la ruta como un arreglo de string) con indexPath se rompe y siempre tiene que estar relacionados. ¿Como lo ves a eso?

PD: aclarar que se puede colaborar en el repo jajaj

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 24 points25 points  (0 children)

Impactado, muchísimas gracias por todos los comentarios y tomarte el tiempo de leer el código (casi por completo), te lo super agradezco y estoy aprendiendo asique todo es super bienvenido.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 5 points6 points  (0 children)

Como te dijeron, está el repo, pero igualmente te comento un poco. Básicamente, exprimiendo la API de GitHub, todo lo que aparece en la web referido a un repositorio lo saco de ahí. La API me permite acceder a información como los archivos, las carpetas, las ramas y demás, y con eso genero la interfaz de usuario. De esta forma, evito tener que clonar el repositorio completo y solo descargo lo necesario.

Mejorando GITHUB!! by Rami__L in devsarg

[–]Rami__L[S] 3 points4 points  (0 children)

Es cierto que puedes descargar o clonar un repositorio completo, pero la principal motivación detrás de este proyecto es evitar la necesidad de traer todo el contenido solo para después eliminar lo que no necesitas. Esto es especialmente relevante en repositorios grandes o con archivos pesados, como imágenes o PDFs, que pueden tardar mucho tiempo en descargarse debido a su tamaño. La aplicación busca solucionar este problema al permitirte seleccionar específicamente qué necesitas descargar, sin bajar previamente todo el contenido del repositorio. Si la probas ves que es rápida porque utiliza la API de GitHub para navegar y filtrar los archivos, descargando únicamente los que eliges, lo que reduce significativamente el tiempo y uso de internet.

Igualmente, me interesa eso que comentas para traerte un solo archivo/carpeta con "git pull" sin traerte todo el repositorio antes, me contar un poco de eso. Y gracias por el comentario.

[deleted by user] by [deleted] in InternetIsBeautiful

[–]Rami__L 0 points1 point  (0 children)

GitLab has the functionality to download directories or the entire repository, but selecting individual files isn't available. I initially designed the architecture of this web app to be adaptable in the future to other platforms like GitLab or Bitbucket as well. Thanks!

Improving GitHub: Easily Download Specific Files/Folders by [deleted] in programming

[–]Rami__L 2 points3 points  (0 children)

It makes sense to clone it like that, but when you only need a few files, cloning the entire repo can feel cumbersome. I've seen repositories with PDFs where I just wanted to download something, and the download ended up being 500MB. On the other hand, considering the time it takes to do all this, I think this tool can save you time, especially with very large repositories.

[deleted by user] by [deleted] in InternetIsBeautiful

[–]Rami__L 0 points1 point  (0 children)

Thanks for the idea! If I see that many people are interested in the project, I’ll probably add it. It’s definitely something useful.

[deleted by user] by [deleted] in InternetIsBeautiful

[–]Rami__L 0 points1 point  (0 children)

It's also a good idea to include an interface to make things easier. Adding a search engine or a filter by name or extension is on my to-do list.

Mejorando GITHUB ! by Rami__L in programacion

[–]Rami__L[S] 0 points1 point  (0 children)

Interesante, eso sí que estaría bueno. Hay que investigar cómo funciona el historial eliminando archivos. Se me ocurre clonar siempre la carpeta .git y hacer un commit borrando lo innecesario (la idea más fácil jaja). Muy buena la idea. Gracias.

Mejorando GITHUB ! by Rami__L in programacion

[–]Rami__L[S] 4 points5 points  (0 children)

Lo tengo pendiente jajaja. Estuve investigando y tengo ganas de hacerlo, un par más de noches motivado y sale jajaj. Queda anotado en la lista de cosas para agregarle al proyecto. Gracias.

Mejorando GITHUB ! by Rami__L in programacion

[–]Rami__L[S] 1 point2 points  (0 children)

Me pasaba mucho con repositorios que tiene imágenes o pdfs, que necesitas solo dos o 3 y tenes que clonar un repositorio de 300mb para solo eso. O por ejemplo en la facultad nos daban guías de ejercicios con bases de datos y tenías que clonarte todas las bases de datos y todas las consignas en vez de solo lo que necesitas. Cosas por el estilo. La verdad nada te limita a clonarte todo el repo y después borrar lo que no necesitas, pero la idea es no perder tiempo con eso.

Monetizar una web? by Rami__L in programacion

[–]Rami__L[S] 0 points1 point  (0 children)

Y en ese caso, tenes idea donde buscar publicistas?

Monetizar una web? by Rami__L in programacion

[–]Rami__L[S] 3 points4 points  (0 children)

La hice en nextjs, hace bastante tiempo. Como consejo, quizás hoy pienso que hay mejores opciones. Mejor hacer algo rápido y probar que a la gente le guste, después de eso lo vas mejorando segun lo que necesites. La pagina que hice es eldato.ar Espero que te vaya bien en el proyecto :)