Saltearse al contenido

Cómo Empezar?

Stack de tecnologías
  • Drizzle
  • LibSQL
  • Turso

Lo primero es clonar o hacer fork del repositorio, si lo que quieres es colaborar puedes leer el /about-me/contributing para saber como hacerlo.

Ahora toca instalar las dependencias y configurar el entorno de desarrollo.

  1. Instalar las dependencias

    Ventana de terminal
    npm install
  2. Configurar las variables de entorno, para ello crea un archivo .env en la raíz del proyecto con las variables explicadas en la sección que variables de entorno necesito?

  3. Ejecutar el push de la base de datos

    Ventana de terminal
    npm run db:push
  4. Iniciar el servidor en local

    Ventana de terminal
    npm run dev

Crear un archivo .env en la raíz del proyecto con las siguientes variables

Ventana de terminal
PRIVATE = '{
"discord": {
"token": "",
"applicationId": ""
"oAuthSecret": ""
"oAuthCallback": "/auth0/discord"
"guildOwner": ""
"userOwner": ""
},
"api": {
"secretKey": "",
"urlClientDomain": "",
},
"sql": {
"syncUrl": "",
"token": ""
},
}'
PORT = '3000'
PUBLIC_URL_API = 'http://localhost:3000',
PUBLIC_APPLICATION_ID = '',

Lo primero es tener un bot creado en discord, para ello puedes usar el bot de Discord Developer Portal o puedes seguir el tutorial de Discord para crear un bot.

  • token: token de autenticación de discord
  • applicationId: id de la aplicación de discord
  • oAuthSecret: secreto de autenticación de discord para OAuth
  • guildOwner: id del servidor donde se encuentra el bot (el bot debe estar en el servidor)
  • oAuthCallback: callback de OAuth, por defecto es /auth0/discord esto es la sub-ruta que se configura en discord portal -> OAuth2 -> Redirect URLs
  • userOwner: id del usuario que tiene el rol de administrador del bot (el usuario debe ser el dueño del bot)

Esto es para comunicar el front con el back.

  • secretKey: secreto para el api, te recomendamos usar un hash generado con comando porque toda la aplicación depende es esto.
  • urlClientDomain: dominio del cliente, en local sera http://localhost:4321

En este caso utilizamos Turso y Drizzle como ORM, pero internamente se usa libSQL, ahi tienes mas información sobre que entorno usar.

  • syncUrl: url de la base de datos
  • token: token de la base de datos

Puerto en el que se ejecutara el servidor en local

Estas variables son utilizadas para configurar las URLs del Frontend.

  • PUBLIC_URL_API: url de la aplicación para el api

  • PUBLIC_APPLICATION_ID: id de la aplicación de discord, esto se usa para construir el link de OAuth y join bot de discord