Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andresweitzel/centralized_version_control_system_v1_nodejs
Centralized version control system implemented with NodeJS, Typescript, Jest, Express, dotenv, nodemon, morgan, others.
https://github.com/andresweitzel/centralized_version_control_system_v1_nodejs
dotenv express filesystem integration-testing jest morgan nodejs nodemon tdd typescript unit-testing
Last synced: 19 days ago
JSON representation
Centralized version control system implemented with NodeJS, Typescript, Jest, Express, dotenv, nodemon, morgan, others.
- Host: GitHub
- URL: https://github.com/andresweitzel/centralized_version_control_system_v1_nodejs
- Owner: andresWeitzel
- License: gpl-3.0
- Created: 2023-09-08T02:17:13.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-04T20:07:01.000Z (11 months ago)
- Last Synced: 2024-02-04T21:58:01.329Z (11 months ago)
- Topics: dotenv, express, filesystem, integration-testing, jest, morgan, nodejs, nodemon, tdd, typescript, unit-testing
- Language: JavaScript
- Homepage:
- Size: 1.34 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Index app](./doc/assets/img/centralized.png)
# Centralized\_Version\_Control\_System\_V1\_Nodejs
Sistema de control de versiones web centralizado implementado con NodeJS, Typescript, Express, dotenv, nodemon, morgan, etc.
## Índice 📜
Ver
### Sección 1) Descripción, configuración y tecnologías.
* [1.0) Descripción del Proyecto.](#10-descripción-)
* [1.1) Ejecución del Proyecto.](#11-ejecución-del-proyecto-)
* [1.2) Configuración del proyecto desde cero](#12-configuración-del-proyecto-desde-cero-)
* [1.3) Comandos de utilidad.](#13-comandos-de-utilidad)
* [1.4) Tecnologías.](#14-tecnologías-)### Sección 2) Endpoints y Ejemplos
* [2.0) EndPoints y recursos.](#20-endpoints-y-recursos-)
* [2.1) Ejemplos.](#21-ejemplos-)### Sección 3) Prueba de funcionalidad y Referencias
* [3.0) Prueba de funcionalidad.](#30-prueba-de-funcionalidad-)
* [3.1) Referencias.](#31-referencias-)
## Sección 1) Descripción, configuración y tecnologías.
### 1.0) Descripción [🔝](#índice-)
Ver
### 1.0.0) Descripción General
### 1.0.1) Descripción Arquitectura y Funcionamiento
### 1.1) Ejecución del Proyecto [🔝](#índice-)
Ver
### 1.2) Configuración del proyecto desde cero [🔝](#índice-)
Ver
* Instalamos la última versión LTS de [Nodejs(v18)](https://nodejs.org/en/download)
* Creamos un entorno de trabajo a través de algún ide, luego de crear una carpeta nos posicionamos sobre la misma
```git
cd 'projectName'
```* Creamos un proyecto npm de nodejs
```git
npm init -y
```* Creamos un archivo .gitignore y agregamos los files necesarios (por el momento node\_modules)
```git
mkdir .gitignore
```* Creamos un direct source (src) para agregar toda la lógica de nuestra app
```git
touch src
```* Instalamos el plugin para [express (framework web)](https://www.npmjs.com/package/express)
```git
npm i express
```* Instalamos el plugin para [dotenv (variables de entorno)](https://www.npmjs.com/package/dotenv)
```git
npm i dotenv
npm i dotenv-expand
```* Instalamos el plugin para cors
```git
npm i cors
```* Instalamos el plugin para convertir objetos json desde middleware
```git
npm i body-parser
```* Instalamos el plugin para [morgan-middleware (errores, formatos, etc)](https://expressjs.com/en/resources/middleware/morgan.html)
```git
npm i morgan
```* Instalamos el plugin para [nodemon (autoreload server)](https://www.npmjs.com/package/nodemon) de forma global
```git
npm i -g nodemon
```* Instalamos el plugin para [nodemon (autoreload server)](https://www.npmjs.com/package/nodemon) para desarrollo
```git
npm i nodemon --save-dev
```* Ejecutamos la app desde terminal para entorno local.
```git
npm run dev
```* Ejecutamos la app desde terminal para entorno productivo.
```git
npm start
```* Si se presenta algún mensaje indicando qué el puerto 8080 ya está en uso, podemos terminar todos los procesos dependientes y volver a ejecutar la app
```git
npx kill-port 8080
npm run dev o npm start
```
### 1.3) Comandos de utilidad [🔝](#índice-)
Ver
### 1.4) Tecnologías [🔝](#índice-)
Ver
| **Tecnologías** | **Versión** | **Finalidad** |\
| ------------- | ------------- | ------------- |
| [NodeJS](https://nodejs.org/en/) | 14.18.1 | Librería JS |
| [Typescript](https://www.typescriptlang.org/) | 3.8.3 | Lenguaje con alto tipado basado en JS |
| [VSC](https://code.visualstudio.com/docs) | 1.72.2 | IDE |
| [Postman](https://www.postman.com/downloads/) | 10.11 | Cliente Http |
| [CMD](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmd) | 10 | Símbolo del Sistema para linea de comandos |
| [Git](https://git-scm.com/downloads) | 2.29.1 | Control de Versiones || **Extensión** |\
| ------------- |
| Prettier - Code formatter |
| Typescript Toolbox - generate setters, getters, constrc, etc |
| Otras |
## Sección 2) Endpoints y Ejemplos.
### 2.0) Endpoints y recursos [🔝](#índice-)
Ver
### 2.1) Ejemplos [🔝](#índice-)
Ver
## Sección 3) Prueba de funcionalidad y Referencias.
### 3.0) Prueba de funcionalidad [🔝](#índice-)
Ver
### 3.1) Referencias [🔝](#índice-)
Ver
#### Documentos
* [Acerca del control de versiones](https://unity.com/es/solutions/what-is-version-control)
* [Ejemplos de softwares de control de versiones](https://www.drauta.com/5-softwares-de-control-de-versiones)#### Proyectos
* [Desarrollo de una aplicación Web para
control de versiones de software](https://e-archivo.uc3m.es/bitstream/handle/10016/11936/PFC-David%20Otero%20Gutierrez.pdf?sequence=1\&isAllowed=y)#### Versionadores Open source
* https://devhints.io/semver
* https://github.com/npm/node-semver
* https://keepcoding.io/blog/que-es-el-versionado-semantico-semver/#### File System
* [Lectura de nombres de archivos a traves de directorios](https://stackoverflow.com/questions/2727167/how-do-you-get-a-list-of-the-names-of-all-files-present-in-a-directory-in-node-j)
* [Ejemplo Logica para File paths](https://stackoverflow.com/questions/2727167/how-do-you-get-a-list-of-the-names-of-all-files-present-in-a-directory-in-node-j)
* [Métodos filehandle](https://nodejs.org/api/fs.html)