Descripción • Uso • Contribuir • Créditos • Soporte • Licencia
Proyecto Open Source desarrollado como un buscador de salas en los campus de la Pontificia Universidad Católica de Chile, que permite a los estudiantes encontrar y localizar rápidamente en un mapa dinámico.
Los datos iniciales del proyecto son sacados de almapp/uc-maps-seeds
Para centrar el mapa o la ubicación en el formulario en un campus específico, se puede agregar un parámetro en la URL con el nombre del campus:
https://ubicate.osuc.dev/map?campus={Nombre campus}
https://ubicate.osuc.dev/form-geo?campus={Nombre campus}
Donde {Nombre campus}
puede ser:
- SanJoaquin
- CasaCentral
- Oriente
- LoContador
- Villarrica
Además se puede centrar el mapa en la ubicación de una sala dado su identificador
https://ubicate.osuc.dev/map?place={Id sala}
Donde {Id sala}
puede ser:
- B12
Agregar Api Key pública de Mapbox a variable de entorno en archivo .env.local
Agregar la URL base del proyecto, actualmente es https://ubicate.osuc.dev/
NEXT_PUBLIC_MAPBOX_TOKEN = <API_KEY>
NEXT_PUBLIC_BASE_URL = <BASE_URL>
GITHUB_TOKEN_USER = <TOKEN_USER>
GITHUB_USER_EMAIL = <EMAIL>
GITHUB_BRANCH_NAME = <EXISTING_BRANCH>
npm install
npm run dev
Es necesario resolver los errores y warnings de linter en cada pull request, estos errores se muestran (y se resuelven la mayoría de errores) ejecutando:
npm run lint:fix
Es necesario que el proyecto pueda realizar correctamente un build
para poder ser desplegado en Cloudflare
npm run build:cloudflare
- Crear un usuario dedicado.
useradd ubicate
- Clonar el repositorio.
git clone https://github.com/open-source-uc/UbiCate-v2 /usr/local/ubicate
- Entrar al directorio
cd /usr/local/ubicate
-
Hacer una build.
npm run build
- Crear la Systemd Unit
touch /etc/systemd/system/ubicate.service
[Unit]
Description=Ubicate
After=multi-user.target
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/bin/npm --prefix /usr/local/ubicate run start
User=ubicate
Group=ubicate
Type=idle
Restart=on-abnormal
RestartSec=15
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target
- Reload Units
systemctl daemon-reload
- Start y enable el servicio
systemctl enable --now ubicate.service
- Reverse proxy con Apache
Reemplazar
domain.tld
con su dominio.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName ubicate.domain.tld
ErrorLog "/var/log/httpd/ubicate.domain.tld-error_log"
CustomLog "/var/log/httpd/ubicate.domain.tld-access_log" common
<Location / >
RequestHeader set X-SCRIPT-NAME /
RequestHeader set X-SCHEME https
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
ProxyPassReverseCookiePath / /
</Location>
</VirtualHost>
Las salas subidas en el formulario se cargan directamente a una rama de Git definida en el archivo .env.local
, correspondiente a GITHUB_BRANCH_NAME
. Estas salas se añaden al archivo data/places.json
.
Además, es posible añadir ubicaciones de forma manual.
Caution
Es sumamente importante que cualquier ubicación agregada manualmente se realice en la rama correspondiente para evitar problemas.
Utilice las issues para informar cualquier bug o solicitud.
PR a development -> Revisar preview y checks -> Asignar reviewers -> Aprobación -> Merge a development
La información detallada sobre cómo contribuir se puede encontrar en contributing.md.
Comuníquese con nosotros a traves de osuc.dev
Si este error ocurre en Cloudflare, es muy probable que se deba a uno de los siguientes motivos:
Versión incorrecta de Node.js: Asegúrate de que la versión de Node.js configurada sea compatible con tu aplicación.
Fecha de compatibilidad obsoleta (Compatibility Date): Una fecha de compatibilidad muy antigua puede causar problemas con el entorno de ejecución de Cloudflare.
## Licencia