Descripción • Tecnologías • Correr Localmente • Licencia
Habitual es un rastreador de hábitos que te ayuda a ser constante al intentar formar nuevos hábitos.
Comienzas por agregar un nuevo hábito, aqui puedes especificar el nombre del mismo, el tipo de hábito (cuántos días consecutivos debes cumplir para considerarlos completado), los días de la semana que quieres realizar esta actividad y un recordatorio opcional.
Los tipos de hábitos son:
- Hábito de Madera: 18 días consecutivos.
- Hábito de Piedra: 66 días consecutivos.
- Hábito de Acero: 254 días consecutivos.
Para registrar una activdad, presionas sobre el circulo blanco del lado izquierdo del hábito.
Debes realizar la actividad los días que especificaste para no perder tu racha, de no hacerlo, se marcará la actividad como fuera de tiempo y la siguiente vez que se registre una actividad, se reiniciará la racha de días seguidos.
Si programaste recordatorios, Habitual te enviará recordatorios para dicha actividad los días que especificaste para esa actividad a la hora registrada.
En cuanto a frontend, habitual está desarrollado con HTML, CSS y JS vainilla. Nada de frameworks :)
La única librería utilizada es Sweetalert para las alertas.
El backend está hecho con expressjs, la autenticación es en base a JSON Web Tokens, almacenando el token en una cookie.
Para el sistema de notificaciones se está utilizando Firebase Cloud Messaging.
Como base de datos se utilizó Postgres
Para correr esta aplcación localmente, necesitarás Git, Node.js y PostgreSQL instalado.
# Clonar este repositorio
$ git clone https://github.com/064xp/Habitual
Puedes crear la base de datos mediante la interfaz gráfica PgAdmin. Una vez creada, selecciona la base de datos y corre el script ubicado en databaseScripts/databaseCreation.sql
.
Si deseas crear la base de datos mediante la linea de comandos
$ sudo su - postgres
$ createdb habitual
$ psql
psql> \c habitual
psql> \i /ruta/a/script/databaseCreation.sql
Debes crear un archivo con las variables de entorno en /src/.env
El contenido deberá seguir el siguiente formato
DATABASE_URL=postgres://habitualuser:habitual@localhost:5432/Habitual
JWT_SECRET=StringAleatorio(puedesDejarloAsi)
NODE_ENV=debug
PORT=3000
Crea un nuevo proyecto en firebase y habilita Firebase Cloud Messaging. Navega a las configuraciones del proyecto y en la pestaña de "Service Accounts" descargar las credenciales (es un archivo JSON).
Este archivo lo debes poner en /src/firebase/creds/firebase-admin-creds.json
# Entrar al directorio
$ cd Habitual/src
# Instalar las dependencias
$ npm install
# Correr la aplicación
$ npm start
En tu navegador, ir a localhost:3001
GPL-3.0