diff --git a/CONTRIBUTING.es.md b/CONTRIBUTING.es.md new file mode 100644 index 0000000..1e9a436 --- /dev/null +++ b/CONTRIBUTING.es.md @@ -0,0 +1,95 @@ +*Leer esto en otro idioma: [Inglés](CONTRIBUTING.md), [Español](CONTRIBUTING.es.md)* + +--- + +# Contribuyendo + +¡Nos ❤️ encantaría que contribuyas a Pingvin Share y nos ayudes a hacerlo mejor! Todas las contribuciones son bienvenidas, incluyendo problemas, sugerencias, *pull requests* y más. + +## Para comenzar + +Si encontraste un error, tienes una sugerencia o algo más, simplemente crea un problema (issue) en GitHub y nos pondremos en contacto contigo 😊. + +## Para hacer una Pull Request + +Antes de enviar la pull request para su revisión, asegúrate de que: + +- El nombre de la pull request sigue las [especificaciones de Commits Convencionales](https://www.conventionalcommits.org/): + + `[ámbito opcional]: ` + + ejemplo: + + ``` + feat(share): agregar protección con contraseña + ``` + + Donde `tipo` puede ser: + + - **feat** - es una nueva función + - **doc** - cambios solo en la documentación + - **fix** - una corrección de error + - **refactor** - cambios en el código que no solucionan un error ni agregan una función + +- Tu pull requests tiene una descripción detallada. + +- Ejecutaste `npm run format` para formatear el código. + +
+ ¿No sabes como crear una pull request? Aprende cómo crear una pull request + +1. Crea un fork del repositorio haciendo clic en el botón `Fork` en el repositorio de Pingvin Share. + +2. Clona tu fork en tu máquina con `git clone`. + +``` +$ git clone https://github.com/[your_username]/pingvin-share +``` + +3. Trabajar - hacer commit - repetir + +4. Haz un `push` de tus cambios a GitHub. + +``` +$ git push origin [nombre_de_tu_nueva_rama] +``` + +5. Envía tus cambios para su revisión. Si vas a tu repositorio en GitHub, verás un botón `Comparar y crear pull requests`. Haz clic en ese botón. +6. Inicia una Pull Request +7. Ahora envía la pull requests y haz clic en `Crear pull requests` +8. Espera a que alguien revise tu solicitud y apruebe o rechace tus cambios. Puedes ver los comentarios en la página de la solicitud en GitHub. + +
+ +## Instalación del proyecto + +Pingvin Share consiste de un frontend y un backend. + +### Backend + +El backend está hecho con [Nest.js](https://nestjs.com) y usa Typescript. + +#### Instalación + +1. Abrimos la carpeta `backend` +2. Instalamos las dependencias con `npm install` +3. Haz un `push` del esquema de la base de datos a la base de datos ejecutando `npx prisma db push` +4. Rellena la base de datos ejecutando `npx prisma db seed` +5. Inicia el backend con `npm run dev` + +### Frontend + +El frontend está hecho con [Next.js](https://nextjs.org) y usa Typescript. + +#### Instalación + +1. Primero inicia el backend +2. Abre la carpeta `frontend` +3. Instala las dependencias con `npm install` +4. Inicia el frontend con `npm run dev` + +¡Ya está todo listo! + +### Testing + +Por el momento, solo tenemos pruebas para el backend. Para ejecutar estas pruebas, debes ejecutar el comando `npm run test:system` en la carpeta del backend. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a6ddf72..4fcbd99 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,7 @@ +*Read this in another language: [Spanish](CONTRIBUTING.es.md), [English](CONTRIBUTING.md)* + +--- + # Contributing We would ❤️ for you to contribute to Pingvin Share and help make it better! All contributions are welcome, including issues, suggestions, pull requests and more. diff --git a/README.es.md b/README.es.md new file mode 100644 index 0000000..e81ea51 --- /dev/null +++ b/README.es.md @@ -0,0 +1,129 @@ + +#

Pingvin Share
+ +--- + +*Leer esto en otro idioma: [Inglés](README.md), [Español](README.es.md)* + +--- + +Pingvin Share es una plataforma de intercambio de archivos autoalojada y una alternativa a WeTransfer. + +## ✨ Características + +- Compartir archivos utilizando un enlace +- Tamaño de archivo ilimitado (unicamente restringido por el espacio en disco) +- Establecer una fecha de caducidad para los recursos compartidos +- Uso compartido seguro con límites de visitantes y contraseñas +- Destinatarios de correo electrónico +- Integración con ClamAV para escaneos de seguridad + +## 🐧 Conoce Pingvin Share + +- [Demo](https://pingvin-share.dev.eliasschneider.com) +- [Reseña por DB Tech](https://www.youtube.com/watch?v=rWwNeZCOPJA) + + + +## ⌨️ Instalación + +> Nota: Pingvin Share está en sus primeras etapas y puede contener errores. + +### Instalación con Docker (recomendada) + +1. Descarge el archivo `docker-compose.yml` +2. Ejecute `docker-compose up -d` + +El sitio web ahora está esperando conexiones en `http://localhost:3000`, ¡diviértase usando Pingvin Share 🐧! + +### Instalación autónoma + +Herramientas requeridas: + +- [Node.js](https://nodejs.org/en/download/) >= 16 +- [Git](https://git-scm.com/downloads) +- [pm2](https://pm2.keymetrics.io/) para ejecutar Pingvin Share en segundo plano + +```bash +git clone https://github.com/stonith404/pingvin-share +cd pingvin-share + +# Consultar la última versión +git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`) + +# Iniciar el backend +cd backend +npm install +npm run build +pm2 start --name="pingvin-share-backend" npm -- run prod + +# Iniciar el frontend +cd ../frontend +npm install +npm run build +pm2 start --name="pingvin-share-frontend" npm -- run start +``` + +El sitio web ahora está esperando conexiones en `http://localhost:3000`, ¡diviértase usando Pingvin Share 🐧! + +### Integraciones + +#### ClamAV (Unicamente con Docker) + +ClamAV se utiliza para escanear los recursos compartidos en busca de archivos maliciosos y eliminarlos si los encuentra. + +1. Añade el contenedor ClamAV al stack de Docker Compose (ver `docker-compose.yml`) e inicie el contenedor. +2. Docker esperará a que ClamAV se inicie antes de iniciar Pingvin Share. Esto puede tardar uno o dos minutos. +3. Los registros de Pingvin Share ahora deberían decir "ClamAV está activo". + +Por favor, ten en cuenta que ClamAV necesita muchos [recursos](https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements). + +### Recursos adicionales + +- [Instalación en Synology NAS (Inglés)](https://mariushosting.com/how-to-install-pingvin-share-on-your-synology-nas/) + +### Actualizar a una nueva versión + +Dado que Pingvin Share se encuentra en una fase inicial, consulte las notas de la versión para conocer los cambios de última hora antes de actualizar. + +#### Docker + +```bash +docker compose pull +docker compose up -d +``` + +#### Instalación autónoma + +1. Deten la aplicación en ejecución + + ```bash + pm2 stop pingvin-share-backend pingvin-share-frontend + ``` + +2. Repite los pasos de la [guía de instalación](#instalación-autonoma) excepto el paso de `git clone`. + + ```bash + cd pingvin-share + + # Consultar la última versión + git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`) + + # Iniciar el backend + cd backend + npm run build + pm2 restart pingvin-share-backend + + # Iniciar frontend + cd ../frontend + npm run build + pm2 restart pingvin-share-frontend + ``` + +### Marca personalizada + +Puedes cambiar el nombre y el logotipo de la aplicación visitando la página de configuración de administrador. + +## 🖤 Contribuye + +¡Eres bienvenido a contribuir a Pingvin Share! Sige la [guía de contribución](/CONTRIBUTING.md) para empezar. diff --git a/README.md b/README.md index bb9d835..7d13364 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ #

Pingvin Share
+--- + +*Read this in another language: [Spanish](README.es.md), [English](README.md)* + +--- + Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer. ## ✨ Features