La DAO

Conecta, Contribuye, Construye

Bienvenido a La DAO, una comunidad de apasionados de las finanzas descentralizadas y la tecnología.

¡Empieza a colaborar!

Requisitos

  • NodeJS v18.12.0 (LTS) o superior
  • Git
  • Sugerimos crear una cuenta en Supabase o PlanetScale, y obtener un string de conexión para tu propia Base de Datos. Cómo obtener en Supabase.
  • En caso de requerir acceso a las base de datos de La DAO, contáctanos a través de Discord o Telegram.
Flujo de colaboración

Utilizamos los principios de Gitflow para el control de versiones durante el flujo de trabajo como desarrolladores.

En nuestras contribuciones, debemos considerar el modelo de creación de ramas propuesto en Gitflow, donde siempre mantendremos nuestra rama principal, main, así como una rama para aportar nuestras contribuciones: dev.

Para conocer más sobre este flujo de trabajo, puedes visitar este excelente Tutorial de Gitflow creado por Atlassian.

Configuración inicial:

Clona este repositorio

  git clone https://github.com/La-DAO/webapp-v1

Cambia al directorio del proyecto

  cd webapp-v1

Instala las dependencias

  npm install

Utilizamos npm por conveniencia, ya que está isntalado por default y permite a cualquier persona colaborar sin instalar paquetería adicional como pnpm o yarn

Contribuciones: cambia a la rama dev y crea tu rama

Ejecuta el siguiente comando en la consola

  git switch dev

La rama dev es donde mantenemos una copia de las últimas contribuciones. Por ello, es nuestro punto de inicio para contribuir.

Si deseas crear un nuevo feature o realizarás alguna otra contribución, siguiendo el modelo de trabajo Gitflow, deberás crear tu propia rama a partir de dev

  git checkout -b feat/<inserta-tu-feature>

Seamos descriptivos pero concisos con los nombres de las ramas, algunos ejemplos:

  • feat/contacto-pagina
  • feat/setup-auth
  • feat/api-profile-routes

Para contribuciones, crea commits constantemente para que los demás podamos mantener el contexto de tus contribuciones. Recomendamos seguir estas mejores prácticas en tus commits.

Una vez que tu aportación esté lista, puedes abrir un Pull Request hacia la rama dev y solicita revisión de otro contribuidor.

Variables de ambiente

Para que la aplicación funcione en su totalidad, debes crear una copia del archivo .env.example y nombrarlo .env

En este nuevo archivo .env, es necesario modificar las siguientes variables de estado:

DATABASE_URL

Al copiar .env.example, existe un string sin autenticación (es decir, no tiene la contraseña correcta). Esto es por diseño, para evitar abusos de la base de datos de prueba. Sigue el tutorial indicado en Requerimientos.

Inicia la aplicación

Corre el siguiente script para iniciar el servidor de NextJS

  npm run dev

La aplicación iniciará en http://localhost:3000

Migración Base de Datos

Corre el siguiente script aplicar las migraciones a la base de datos, y así estar sincronizado con el schema (arquitectura de la base de datos: tablas, modelos, relaciones, etc.):

  npx prisma migrate dev

Ahora debes poder iniciar Prisma Studio, el explorador default de Prisma para la base de datos.

  npx prisma studio

Iniciará la aplicación de Prisma Studio en http://localhost:5050. Aquí podrás interactuar la base de datos mientras desarrollas.

Cuando realices un cambio en la base de datos, deberás seguir el flujo de Prisma:

  1. Modificar el schema en el archivo /prisma/schema.prisma
  2. Crear una migración
  3. Continuar trabajando en el código
  4. Repetir en caso de requerir otra modificación

Puedes utilizar esta guía para conocer más del flujo de desarrolo de Prisma

FAQ

¿Cuál es el roadmap?

Este es un proyecto en construcción, y tenemos grandes planes para La DAO. Acércate a nuestros canales de comunicación para más información.

Actualizaremos este README conforme avancemos en el desarrollo.