Librepass es un sistema integral de control de acceso hecho con ESP32 y tecnologias web en la nube. El mismo permite controlar el acceso de los empleados a distintos sectores usando tecnología RFID.
En este sistema, se tiene una unidad de acceso por cada puerta, la cual tiene un lector RFID conectado a un ESP32. Este lee cuando se apoya una tarjeta RFID, y deja pasar a los usuarios que esten autorizados, y rechazan a los que no esten autorizados. Esta autorización es independiente por puerta, y se hace consultando a un backend en Flask que esta corriendo el AWS IOT.
Librepass cuenta tambien con un frontend hecho en Bootstrap apto para dispositivos desktop y mobile, el cual permite a un administrador modificar los permisos de acceso de cada puerta, y ver un historial general y especifico de los accesos.
Para tener una copia local corriendo, sigue los siguientes pasos
Se necesita el siguiente software para correr el programa
-
Python 3.10
-
Docker
- Clona el repositorio
git clone https://github.com/KrappRamiro/librepass.git
- Instala los paquetes python
pip install -r requirements.txt
- Para el desarollo local, corre una instancia de docker con el siguiente comando
sudo docker run --name librepass-postgres -p 5432:5432 -e POSTGRES_USER=librepass -e POSTGRES_PASSWORD=complexpassword123 -e POSTGRES_DB=librepass -d postgres
- Ejecuta el archivo
init_db.py
./init_db.py
- Corre el programa
./app.py
- Abre el programa en tu navegador web en http://127.0.0.1:5000
Para iniciar con Librepass, lo primero que hay que hacer es crearse una cuenta, tocando en el boton que dice Registrate
A continuación, rellená los datos y tocá en el boton azul que dice Registrarse. Haciendo eso, ya creaste tu cuenta
Luego, inicia sesión llenando tu usuario y contraseña.
Para añadir empleados y/o puertas, hay que tocar en el boton Añadir de la parte superior de la página, y luego en Empleado o Puerta
Luego hay que rellenar los datos correspondientes, y tocar en el boton Añadir Empleado/Puerta
Para ver los datos, hay que tocar en el boton Listas de la parte superior de la página, y luego en Empleados, Puertas o Accesos, segun se quiera
Aquí se pueden ver los datos. En la columna de acciones, se pueden realizar multiples acciones asociadas a la información que se está viendo
- Agregar un footer
- Agregar una página para ver todos los accesos de una puerta en específico
- A esa página, agregarle un contador (lo mismo para la de Empleados)
- Reformar la interfaz de agregado de empleados y puertas
- Agregar un modo oscuro
- Poder ordenar las variables de las tablas de mayor a menor
- Poder setear la zona horaria
Mira los open issues para una lista de todas las funciones propuestas (y todos los errores conocidos)
Las contribuciones son lo que hace que la comunidad de código abierto sea un lugar increíble para aprender, inspirar y crear. Cualquier contribución que hagas es muy apreciada.
Si tenes una sugerencia que mejoraría el programa, hace un fork del repositorio y crea una pull request. También podes abrir un issue con la etiqueta "mejoras".
¡No olvides darle una estrella al proyecto! ¡Gracias de nuevo!
-
Hace un fork del proyecto
-
Crea tu porpia feature branch (
git checkout -b feature/UnaSuperFeature
) -
Hace un commit de tus cambios (
git commit -m 'Add some AmazingFeature'
) -
Pushea a la branch (
git checkout -b feature/AmazingFeature
) -
Abrí una pull request
Distribuido con la licencia MIT. Ver LICENSE.txt
para más información
Krapp Ramiro - [email protected]
Project Link: https://github.com/KrappRamiro/librepass
Si al correr app.py tienes el siguiente error:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
Significa que tenes que correr la instancia de docker. Si todavia no la creaste, hacelo usando
sudo docker run --name librepass-postgres -p 5432:5432 -e POSTGRES_USER=librepass -e POSTGRES_PASSWORD=complexpassword123 -e POSTGRES_DB=librepass -d postgres
Si ya corriste ese comando con anterioridad, intenta iniciandola con sudo docker start librepass-postgres
Esa funcion esta temporalmente desactivada
Para cerrar sesion, hay que tocar el boton que dice Cerrar Sesion arriba a la derecha