Skip to content

064xp/Habitual

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Habitual
Habitual

Rastreador de hábitos para ayudarte a formar hábitos y cumplir tus metas.

DescripciónTecnologíasCorrer LocalmenteLicencia

Descripción

Habitual es un rastreador de hábitos que te ayuda a ser constante al intentar formar nuevos hábitos.

¿Cómo funciona?

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.

Tecnologías

Frontend

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.

Backend

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.

Base de Datos

Como base de datos se utilizó Postgres

Correr Localmente

Para correr esta aplcación localmente, necesitarás Git, Node.js y PostgreSQL instalado.

# Clonar este repositorio
$ git clone https://github.com/064xp/Habitual

Crear la base de datos

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.

psql

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

Crear un archivo .env

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

Firebase Cloud Messaging

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

Correr el servidor

# Entrar al directorio
$ cd Habitual/src

# Instalar las dependencias
$ npm install

# Correr la aplicación
$ npm start

En tu navegador, ir a localhost:3001

Licencia

GPL-3.0