nabu/README.md

119 lines
4.2 KiB
Markdown
Raw Normal View History

# Nabu
2022-01-20 09:58:26 +01:00
Un sistema gestor de contenido (CMS) de artículos en `Markdown` para la [Universidad de Guanajuato](https://www.ugto.mx/) escrito en `HTML`, `CSS`, `JavaScript` y `PHP`.
2022-01-20 09:58:26 +01:00
## Dependencias
* [PHP >= 7.0.0](https://www.php.net/)
* [MariaDB >= 10.5.10](https://mariadb.org/)
* Habilita y modifica los siguientes parámetros en el archivo de configuración `php.ini`:
* `extension=openssl` (Windows).
* `extension=pdo_mysql`
* `upload_max_filesize = 2M`
2022-01-20 09:58:26 +01:00
## Estructura del proyecto
```text
nabu/
├── assets
│ ├── icons
│ ├── images
│ ├── scripts
│ └── styles
├── config
├── controllers
├── core
├── db
├── libs
├── models
├── storage
│ ├── avatars
│ ├── backgrounds
│ ├── covers
└── views
├── admin
├── components
├── emails
└── pages
```
* `assets` - Contiene elementos estáticos.
* `icons` - Favicon, paquetes de iconos, etc.
* `images` - Imágenes de banners, logos, etc.
* `scripts` - Contiene scripts de `JavaScript`.
* `styles` - Contiene hojas de estilo `CSS`.
* `config` - Contiene archivos de configuración de la base de datos y del cliente de correo electrónico.
2022-02-19 16:26:49 +01:00
* `controllers` - Contiene la lógica de negocio (lo que debe hacer el programa).
* `core` - Contiene herramientas propias de `Nabu`, gestión de mensajes, configuración y sistema de rutas del sitio web.
* `db` - Contiene el script `SQL` y realiza la conexión con la base de datos.
* `libs` - Contiene bibliotecas propias de `Nabu` o de terceros.
* `models` - Representan los datos de la aplicación y el acceso a ellos.
* `storage` - Almacena portadas de los artículos, fotos y fondos de los perfiles.
* `views` - Contiene plantillas que generan páginas web `HTML`. Muestran la interpretación de los datos al cliente.
* `admin` - Contiene plantillas que construyen el panel de administración del sitio web.
* `components` - Contiene elementos de una página web (`header`, `navbar`, `footer`, etc.).
2022-01-21 01:14:07 +01:00
* `emails` - Contiene plantillas de mensajes de correo electrónico.
* `pages` - Contiene plantillas que construyen el sitio web (página principal, inicio de sesión, registro de usuarios, vista de artículos, etc.).
2022-01-20 09:58:26 +01:00
## Configuración de la base de datos
Por defecto, `Nabu` escanea desde la raíz de la carpeta del programa el archivo de configuración `config/db.json`:
```json
{
2022-01-20 09:58:26 +01:00
"dbms": "mysql",
"host": "localhost",
"database": "nabu",
"user": "root",
"password": "root",
"charset": "utf8mb4"
}
```
2022-01-20 09:58:26 +01:00
## Configuración del cliente de correo electrónico
Por defecto, `Nabu` escanea desde la raíz de la carpeta del programa el archivo de configuración `config/email.json`:
```json
{
2022-01-20 09:58:26 +01:00
"smtp": "smtp.example.com",
"port": 587,
"address": "foo@example.com",
"password": "xxxxx"
}
```
## Ejecuta Nabu en un servidor local
```shell
$ cd nabu
$ php -S localhost:8000
```
* <http://localhost:8000/>
## Licencia
```text
2022-01-20 09:58:26 +01:00
Nabu - Un sistema gestor de contenido (CMS) de artículos en Markdown para
la Universidad de Guanajuato escrito en HTML, CSS, JavaScript y PHP.
2022-02-07 07:05:41 +01:00
Copyright (C) 2021-2022 - Ricardo García Jiménez <ricardogj08@riseup.net>,
Juan José Ramírez López <juan.ramirez.j99@gmail.com>,
Francisco Solís Martínez <franciscosolism08@gmail.com>,
Fernando Andrés Chávez Gavaldón <fernandochg26@gmail.com>
Este programa es software libre: puedes redistribuirlo y/o modificarlo
bajo los términos de la Licencia Pública General de GNU Affero publicada por
la Free Software Foundation, ya sea la versión 3 de la Licencia, o
(a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea de utilidad,
pero SIN NINGUNA GARANTÍA; incluso sin la garantía implícita de
COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO PARTICULAR. Consulte la
Licencia Pública General de GNU Affero para obtener más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU Affero
junto con este programa. De lo contrario, consulte <https://www.gnu.org/licenses/>.
```