https://github.com/gabrielbaute/libgenwebapp
Web interface for LibGen based on its API
https://github.com/gabrielbaute/libgenwebapp
bulma-css flask libgen python
Last synced: 5 months ago
JSON representation
Web interface for LibGen based on its API
- Host: GitHub
- URL: https://github.com/gabrielbaute/libgenwebapp
- Owner: gabrielbaute
- Created: 2024-11-21T20:21:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T21:59:29.000Z (over 1 year ago)
- Last Synced: 2025-01-23T08:41:33.585Z (over 1 year ago)
- Topics: bulma-css, flask, libgen, python
- Language: HTML
- Homepage:
- Size: 233 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LibGenWebApp
LibGenWebApp es una interfaz web para la API de LibGen desarrollada por Harrison Broadbent. Esta aplicación permite buscar libros y artículos en la biblioteca de LibGen de manera amigable y eficiente. La aplicación está en desarrollo continuo y se agradece mucho el trabajo y aporte de Harrison Broadbent.
## Características
- Búsqueda de libros y artículos por autor y título.
- Filtros avanzados de búsqueda por idioma, año, y formato.
- Historial de búsquedas del usuario.
- Modo oscuro y modo claro.
- Restablecimiento de contraseña por correo electrónico con tokens válidos por 30 minutos.
## Instalación
1. **Clonar el repositorio**
```sh
git clone https://github.com/yourusername/LibGenWebApp.git
cd LibGenWebApp
```
2. **Crear y activar un entorno virtual**
```sh
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
```
3. **Instalar las dependencias**
```sh
pip install -r requirements.txt
```
4. **Configurar las variables de entorno**
- Crea un archivo `.env` en el directorio raíz del proyecto y agrega las siguientes líneas:
```env
# Flask
FLASKPORT=5000
SQLALCHEMY_DATABASE_URI='sqlite:///site.db'
FLASK_DOMAIN=http://localhost:{FLASKPORT}
SECRET_KEY=your-generated-secret-key
DEBUG=False
# Admin credentials
ADMIN_USERNAME='admin'
ADMIN_EMAIL='admin@mail.com'
ADMIN_PASSWORD='admin'
# SMTP configuration
MAIL_SERVER=smtp.example.com
MAIL_PORT=587
MAIL_USE_TLS=True
MAIL_USE_SSL=False
MAIL_USERNAME=your-email@example.com
MAIL_PASSWORD=your-password
MAIL_DEFAULT_SENDER=noreply@example.com
```
5. **Generar la clave secreta**
- Ejecuta el script `generate_secret_key.py` y copia la clave generada en el archivo `.env`:
```sh
python generate_secret_key.py
```
- Añade la línea `SECRET_KEY=your-generated-secret-key` en tu archivo `.env`.
6. **Inicializar la base de datos**
```sh
flask db init
flask db migrate -m "Initial migration."
flask db upgrade
```
7. **Ejecutar la aplicación**
```sh
flask run
```
## Estructura de Archivos
```plaintext
LibGenWebApp/
├── app.py
├── routes.py
├── models.py
├── forms.py
├── mail.py
├── loadadmin.py
├── generate_secret_key.py
├── templates/
│ ├── base.html
│ ├── index.html
│ ├── login.html
│ ├── register.html
│ ├── reset_request.html
│ ├── reset_token.html
│ ├── authorsearch.html
│ ├── titlesearch.html
│ ├── results.html
│ ├── history.html
├── static/
│ ├── css/
│ │ └── styles.css
│ ├── js/
│ │ └── theme.js
│ └── images/
│ └── logo.png
├── .env
├── requirements.txt
├── README.md
```
## Variables de Entorno
| Nombre | Valor por Defecto | Descripción |
|----------------------------|----------------------------|------------------------------------------------------------|
| `FLASKPORT` | `5000` | Puerto en el que se ejecuta la aplicación Flask. |
| `SQLALCHEMY_DATABASE_URI` | `sqlite:///site.db` | URI de la base de datos. |
| `FLASK_DOMAIN` | `http://localhost:{FLASKPORT}` | Dominio de la aplicación Flask. |
| `SECRET_KEY` | `your-generated-secret-key` | Clave secreta para la aplicación Flask. |
| `DEBUG` | `False` | Modo de depuración de Flask. |
| `ADMIN_USERNAME` | `admin` | Nombre de usuario del administrador por defecto. |
| `ADMIN_EMAIL` | `admin@mail.com` | Correo electrónico del administrador por defecto. |
| `ADMIN_PASSWORD` | `admin` | Contraseña del administrador por defecto. |
| `MAIL_SERVER` | `smtp.example.com` | Servidor SMTP para enviar correos. |
| `MAIL_PORT` | `587` | Puerto del servidor SMTP. |
| `MAIL_USE_TLS` | `True` | Usar TLS para el servidor SMTP. |
| `MAIL_USE_SSL` | `False` | Usar SSL para el servidor SMTP. |
| `MAIL_USERNAME` | `your-email@example.com` | Nombre de usuario para el servidor SMTP. |
| `MAIL_PASSWORD` | `your-password` | Contraseña para el servidor SMTP. |
| `MAIL_DEFAULT_SENDER` | `noreply@example.com` | Dirección de correo del remitente por defecto. |
## Importancia de la Clave Secreta
La clave secreta (`SECRET_KEY`) es fundamental para la seguridad de tu aplicación Flask. Se utiliza para firmar cookies, tokens y otras tareas de seguridad. Asegúrate de generar una clave secreta segura usando el script `generate_secret_key.py` y guardarla en el archivo `.env` para que no se exponga accidentalmente en el código fuente.
## Agradecimientos
Este proyecto se basa en la [API de LibGen](https://github.com/harrison-broadbent/libgen-api) desarrollada por [Harrison Broadbent](https://github.com/harrison-broadbent). Agradecemos enormemente su trabajo y contribución.
¡Gracias por usar LibGenWebApp!