Puntapié inicial para hacer una aplicación en backend-plus desde cero.
Es preferible seguir las instrucciones de puntapie-ejemplo
Para mantener este módulo, actualizar versiones, mantener los tipos de ts ver las instrucciones de mantenimeiento
Tener instalado:
- git (para windows git-scm y TortoiseGit)
- PostgreSQL cualquier versión LST (16 como mínimo)
- nodejs cualquier versión LTS (20 como mínimo)
- Visual Studio Code
Elegir un nombre para el sistema (por ejemplo "nueva app").
Si se va a usar el git como repositorio (github, gitlab o lo que sea), crear el repositorio y clonarlo en una carpeta. Pero no clonar puntapie-inicial. Si no generar una carpeta en blanco (o del repositorio que sea).
Bajar el puntapie-inicial
(sin clonar ni hacer branch) en la carpeta del sistema nuevo.
cd nueva-app
git clone --bare https://github.com/codenautas/puntapie-inicial.git
cd puntapie-inicial.git
git push --mirror https://github.com/EL-OWNER-U-ORGANIZACION/nueva-app.git
cd ..
del puntapie-inicial.git /s
git clone https://github.com/EL-OWNER-U-ORGANIZACION/nueva-app.git .
git remote add upstream https://github.com/codenautas/puntapie-inicial.git
git remote -v
Más info sobre --bare
en github docs
En este punto se tiene un repo igual a puntapie-inicial.
En ese momento hay dos alternativas, empezar a trabajar desde acá con la app vacía, o bajarse el puntapie-ejemplo que tiene algunas tablas y procedimientos.
En ese segundo caso hay que bajarse el
Y pisar todos los archivos que tiene la carpeta nueva-app.
En ambos casos:
Cambiar todas las ocurrencias de puntapie inicial por nueva app, respetando los guiones y rayas (- ó _) y las mayúsculas y minúsculas (cómo dice en la sección reemplazos). Eso debe hacerse tanto dentro de los archivos como en los nombres de los mismos.
Copiar el archivo example-local-config.yaml
en local-config.yaml
y cambiar los parámetros necesarios (url, puertos, etc) .
En el caso de usar puntapié ejemplo hay que buscar y cambiar a mano todos los archivos o código que tenga la palabra ejemplo y borrar lo que no se necesite por ahora.
Los elementos para personalizarla son:
- El ícono de desarrollo 🏗 que está en
.vscode/settings.json "window-title"
por cualquier otro UNICODE - La licencia (la que viene predeterminada es MIT) en el
package.json
- El nombre, versión y título de la aplicación en
package.json
y elREADME.MD
- La gráfica en las carpetas
img
ycss
dentro desrc/unlogged
ysrc/client
- Los usuarios inicials de prueba en
install/usuarios.tab
- Partiendo de puntapie-ejemplo hay que borrar las tablas de ejemplo (archivos y objetos cuyo nombre contiene la palabra
ejemplo
). Agregar las tablas necesarias del sistema ensrc
prefijándolas contable-
. - Hay que corregir el menú
- Si no habrá página deslogueado:
- borrar
noLoggedUrlPath: /pub
dellocal-config
- borrar la funión
addUnloggedServices
- borrar
- Borrar los procedimientos de ejemplo y agregar los que se necesiten.
npm install
npm start -- --dump-db
Eso generará dos archivos de dump para crear la base de datos vacía y para crear las tablas en postgres.
npm start
En el navegador ir a localhost:3000/nueva_app
(o como se llame la aplicación). O a localhost:3000/nueva_app/admin
para administrarla.
Al instalar se puede ver una aplicación de ejemplo que muestra noticias (con título, fecha, autor y uno o más vínculos), tiene dos tipos de usuarios, el administrador y los redactores. El administrador puede hacer lo que quiera con los datos. Los redactores pueden agregar y modificar noticias, y publicarlas. No pueden ver las noticias de otros redactores hasta que no estén publicadas.
Las tablas y procedimientos de ejemplo hay que borrarlo para empezar con la aplicación limpia. Simplemente hay que buscar la palabra ejemplo en el código fuente (y en los nombres de los archivos) para elimianarlo.
Usando VSCode se pueden usar expresionres regulares (case sensitive) para busacar puntapie([-_]?)inicial
y reemplazar por nueva$1app
. Y luego Puntapie([-_]?)Inicial
y reemplazar por Nueva$1App
.
Puntapié Inicial es un proyecto que muestra cómo arrancar una aplicación backend-plus con la configuración típica. A veces puede cambiar algo en el "boilerplate" o en las inclusiones recomendadas. Para eso hay que sincronizar con puntapie-inicial.
No hacer esto si hay trabajo sin comitear
Las instrucciones para sincronizar con un fork cualquiera pueden verse en:
cd nueva-app
git remote add upstream https://github.com/codenautas/puntapie-inicial.git
git remote -v
git fetch upstream
git chekcout master
git merge upstream/main
Si da conflictos lo primero que hay que hacer es resolverlos y comitear.
Luego revisar si los cambios son apropiados, si no revertirlos introduciendo el cambio contrario.
Está en github