Skip to content

J4F3ET/UD.ProyectoDeGrado.GitCol-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

728 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git-Col Learning

Why is this project being made?

This project is initiated to help students learn git commands in a more interactive way by providing them with a platform where they can practice git commands and learn how to use them in real-world scenarios.

Content

  1. Getting Started
  2. Commits
  3. Documentation
  4. Tecnologies

Getting Started

Installation

In order to install the project, you need to clone the repository and install the dependencies.

git clone https://github.com/J4F3ET/UD.ProyectoDeGrado.GitCol-Learning

Caution

Is it necessary to install the dependencies of the project and need to have node.js installed on the computer.

npm install

The commands of the project are the following:

Command Description
npm run start Run the project in production mode 🚀
npm run dev Run the project in development mode 🔧
npm run docs Generate the documentation of the frontend 📚

Dependencies

The dependencies of the project are the following:

  • Nodemon: To restart the server when changes are detected in the code, it speeds up development.
  • Babel: To transpile the ES6 code to ES5, it allows using the new features of JavaScript. In order for the code to be compatible with older browsers.
  • Babel Node: To run the code transpiled by Babel.
  • Express: To create the web server.
  • Morgan: To display in the console the requests that arrive at the server.
  • EJS: To render the views.
  • Firebase-admin: To connect the application with the Firebase database.
  • Socket.io: To create the real-time connection between the server and the client.
  • Swagger-jsdoc: To document the API.
  • Swagger-ui-express: To visualize the API documentation.
  • jsDoc: To document the code.

Usage

Commits

Description Type Format Example
Requirements and Features feat :sparkles: feat: ✨ Include new feature
Change Control feat :boom: feat: 💥 Service implementation
Defects and Incidents fix :construction: fix: 🚧 Mapping is corrected
Fix bugs fix :bug: fix: 🐛 Mapping order fix
Immediate correction is required fix :ambulance: fix: 🚑 Fix flow bug
Phase or sprint implemented feat :package: feat: 📦 Feature is included
Add, update or pass tests test :white_check_mark: test: ✅ New tests added
Add or update documentation docs :memo: docs: 📝 Update doc
Add or update UI styles style :lipstick: style: 💄 Update UI
Write bad code needed review refactor :poop: refactor: 💩 Fix this please
Remove files feat :fire: feat: 🔥 Remove file
Reverting changes revert :rewind: revert: ⏪ I shouldn't do that again
Improving Performance perf :zap: perf: ⚡ Optimizing code

Tecnologies

DockerNodeJSExpress.jsSocket.ioFirebase

Documentation

The documentation of the project is generated with jsDoc and Swagger-jsdoc.

Markdown extra documentation

  1. Branching System
  2. Object prototype
  3. Communication Design
  4. Oauth2
  5. Prototype Design
  6. Exercise

Url Swagger Documentation API REST

Note

The documentation is generated with Swagger-jsdoc and Swagger-ui-express. Is necessary to run the project to see the documentation. http://localhost:3000/api-docs

Comand generated documentation frontend

npm run docs

Note

The documentation is generated with jsDoc. Is necessary to run the project to see the documentation. Folder: /docs/jsdocs, open index.html

Commands supported by minimum viable product

  1. git init: Inicilization a local git repository in the current folder.
    • git init -h: Show the help of the command.
  2. git commit: Create a commit with the files in the staging area and a message.
    • git commit -h: Show the help of the command.
    • git commit -m "Message": Create a commit with the files in the staging area and a message.
    • git commit -am "Message": Add the files to the staging area and create a commit with the files in the staging area and a message.
  3. git log: Show the commit history.
    • git log -h: Show the help of the command.
    • git log -n number: Show the commit history with the number of commits specified.
  4. git branch: Show the branches of the repository.
    • git branch -h: Show the help of the command.
    • git branch "BranchName": Create a branch with the specified name.
    • git branch -d "BranchName": Delete the branch with the specified name.
    • git branch -m "BranchName": Change the name of the current branch.
    • git branch -a: Show all the branches of the repository.
    • git branch -l: Show the branches of the repository.
    • git branch -r: Show the remote branches of the repository.
  5. git checkout: Change the branch.
    • git checkout -h: Show the help of the command.
    • git checkout -b "BranchName": Create a branch with the specified name and change to it.
    • git checkout -q "BranchName": Change to the branch with the specified name.
  6. git push: Upload the changes to the remote repository.
    • git push -h: Show the help of the command.
  7. git pull: Download the changes from the remote repository.
    • git pull -h: Show the help of the command.
  8. git merge: Merge two branches.
    • git merge -h: Show the help of the command.

Possible commands to be implemented in the future

  1. git config: Configura el nombre y el correo electrónico del usuario.
    • git config --global user.name "Nombre": Configura el nombre del usuario de forma global.
    • git config --global user.email "Correo": Configura el correo electrónico del usuario de forma global.
    • git config user.name "Nombre": Configura el nombre del usuario de forma local en el repositorio actual.
    • git config user.email "Correo": Configura el correo electrónico del usuario de forma local en el repositorio actual.
    • git config --list: Muestra la configuración actual.
    • git config --global --unset user.name: Elimina la configuración del nombre del usuario.
    • git config --global --unset user.email: Elimina la configuración del correo electrónico del usuario.
    • git rm "NombreArchivo": Elimina el archivo del área de preparación.
  2. git switch: Cambia de rama.

About

A web platform for learning and practicing the basics of Git. It includes a collaborative mode that allows users.

Topics

Resources

License

Stars

Watchers

Forks

Contributors