Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carlosfernandezcabrero/quien-paga
Aplicación para ver a quien le toca pagar la siguiente cuenta. Lo interesante es que esto lo decide de entre los integrantes del grupo que menos veces hayan pagado para que sea lo mas justo posible.
https://github.com/carlosfernandezcabrero/quien-paga
firebase firebase-auth firebase-firestore framer-motion javascript nextjs playwright tailwindcss zod zustand
Last synced: 28 days ago
JSON representation
Aplicación para ver a quien le toca pagar la siguiente cuenta. Lo interesante es que esto lo decide de entre los integrantes del grupo que menos veces hayan pagado para que sea lo mas justo posible.
- Host: GitHub
- URL: https://github.com/carlosfernandezcabrero/quien-paga
- Owner: carlosfernandezcabrero
- Created: 2024-02-05T11:27:50.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T01:15:46.000Z (4 months ago)
- Last Synced: 2024-10-05T14:40:59.250Z (3 months ago)
- Topics: firebase, firebase-auth, firebase-firestore, framer-motion, javascript, nextjs, playwright, tailwindcss, zod, zustand
- Language: JavaScript
- Homepage: https://quien-paga.vercel.app
- Size: 108 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QuienPaga
Aplicación para ver a quien le toca pagar la siguiente cuenta. Lo interesante es que esto lo decide de entre los integrantes del grupo que menos veces hayan pagado para que sea lo mas justo posible.
## Tecnologías utilizadas
- TailwindCss
- Nextjs
- Framer Motion
- Firebase
- Zod
- Zustand
- SweetAlert2
- Lucide Icons
- Playwright## Desarrollo
- Crear un proyecto en Firebase.
- Crear una aplicación de tipo web dentro del proyecto. El nombre de la misma es indiferente.
- Crear el archivo `.env.development` en la raíz del proyecto.
- Rellenar las siguientes variables con la configuración de Firebase:``` .env
NEXT_PUBLIC_API_KEY=""
NEXT_PUBLIC_AUTH_DOMAIN=""
NEXT_PUBLIC_PROJECT_ID=""
NEXT_PUBLIC_STORAGE_BUCKET=""
NEXT_PUBLIC_MESSAGING_SENDER_ID=""
NEXT_PUBLIC_APP_ID=""
```- Activar el modulo de autenticación y activar el método de correo electrónico.
- Activar el modulo de Firestore.
- Desplegar las reglas de Firestore. Para ello deberemos añadir el proyecto que acabamos de crear con la utilidad firebase-tools. [Guía](https://firebase.google.com/docs/rules/manage-deploy?hl=es)
- Instalar las dependencias del proyecto``` bash
[npm|pnpm|bun] install
```- Levantar el proyecto
``` bash
[npm|pnpm|bun] run dev
```## Pruebas
- Crear un proyecto en Firebase.
- Crear una aplicación de tipo web dentro del proyecto. El nombre de la misma es indiferente.
- Crear el archivo `.env.test` en la raíz del proyecto.
- Rellenar las siguientes variables con la configuración de Firebase:``` .env
NEXT_PUBLIC_API_KEY=""
NEXT_PUBLIC_AUTH_DOMAIN=""
NEXT_PUBLIC_PROJECT_ID=""
NEXT_PUBLIC_STORAGE_BUCKET=""
NEXT_PUBLIC_MESSAGING_SENDER_ID=""
NEXT_PUBLIC_APP_ID=""
```- Activar el modulo de autenticación y activar el método de correo electrónico.
- Activar el modulo de Firestore.
- Desplegar las reglas de Firestore. Para ello deberemos añadir el proyecto que acabamos de crear con la utilidad firebase-tools. [Guía](https://firebase.google.com/docs/rules/manage-deploy?hl=es)
- Instalar las dependencias del proyecto``` bash
[npm|pnpm|bun] install
```- Levantar el proyecto
``` bash
[npm|pnpm|bun] run dev:e2e
```- Ejecutar las pruebas
``` bash
npx playwright test [--ui]
```## Contribuir
- Clonar el proyecto.
- Crear una rama con el prefijo `feature/` y un nombre que indique brevemente de que se trata.
- Realizar PR.