Skip to content
/ alpha Public
forked from abertal/alpha

Proof of concept association web management

License

Notifications You must be signed in to change notification settings

gvame/alpha

 
 

Repository files navigation

alpha project

https://travis-ci.org/abertal/alpha.svg?branch=master

alpha project is proof of concept of a web application to manage an association day-to-day operations.

You are free to copy, modify, and distribute alpha project with attribution under the terms of the BSD 3-Clause License. See the LICENSE file for details.

This project uses Spanish as the communication language.

Cómo colaborar

Pre requisitos

  • Instalar python 3.5
  • Instalar y configurar git

Instrucciones instalación en Mac/Linux

$ git clone https://github.com/abertal/alpha.git
$ cd alpha
$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv) $ pip install --upgrade pip setuptools wheel
(.venv) $ pip install --requirement requirements.txt
(.venv) $ pip install --requirement dev-requirements.txt

Instrucciones instalación en Windows

PS > cd alpha
PS > python3 -m venv .venv
PS > .venv\Scripts\Activate.PS1
(.venv) PS > pip install --upgrade pip setuptools wheel
(.venv) PS > pip install --requirement requirements.txt
(.venv) PS > pip install --requirement dev-requirements.txt

Clonación del repositorio y subida de repositorios

Hay que crear una carpeta, donde clonaremos el repositorio. Desde el bash de git, nos ubicamos en la carpeta que acabamos de crear.

git clone https://github.com/TuUsuarioGitHub/alpha.git

Comprobamos que no haya modificaciones pendientes

git status

Para trabajar , creamos un rama para no modificar el repositorio original

git branch NombreDeLaRama

Nos cambiamos a la rama creada

git checkout ramauno

Para añadir cambios a la rama

git add FicherosModificados

Para guardar los cambios en la rama

git commit

Para subir los cambios a la rama

git push origin NombreDeLaRama

Borrado de ramas y su remote

Volvemos a la rama master,tras hacer pullrequest, en caso de que no lo estemos:

$ git checkout master

Traemos los cambios del repositorio original:

$ git fetch abertal

y ponemos al día nuestro master:

$ git merge --ff-only abertal/master

Una vez el master esta actualizado, procedemos a borrar la rama:

$ git branch --delete nombre_de_la_rama

Además hay que borrar la rama en el remoto:

$ git push origin --delete nombre_de_la_rama

Finalmente, actualizamos nuestro fork en el remoto (nuestro fork en el pc está actualizado desde el git merge anterior):

$ git push origin master

Migraciones de modelos (Windows)

Primero debemos generar un fichero con los cambios realizados usando PowerShell

> python .\manage.py makemigrations

Para realizar el cambio de modelo y actualizarlo con el fichero generado antes

> python .\manage.py migrate

Migraciones de modelos (Linux)

(.venv) $ python manage.py makemigrations
(.venv) $ python manage.py migrate

Tests y calidad de código

Antes de enviar un cambio hay que comprobar que el código sigue las recomendaciones de estilo del estándar PEP8 ejecutando el comando flake8.

(.venv) PS > flake8

Si hay algún error debe corregirse antes.

También hay que comprobar que no hay errores en los tests. Para ejecutar los tests simplmente hay que ejecutar el comando pytest.

(.venv) PS > pytest

Al igual que con la comprobación anterior, no se puede subir código que no pase los tests.

Por último también es preciso ejecutar la utilidad isort para que las importaciones de paquetes y librerías estén ordenados y agrupados de manera homogénea en toda la aplicación.

(.venv) PS > isort

Guía de estilo: HTML

  1. La indentación es de 2 espacios.
  2. Las etiquetas de Django no incrementan la indentación (por ejemplo {% if %}).
  3. Los elementos HTML sí que añaden un nivel de indentación.
  4. Excepción: <html>, <head> y <body>

Un ejemplo:

Para el resto de aspectos (atributos, cierre de elementos...) se utiliza como referencia http://codeguide.co/.

About

Proof of concept association web management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.8%
  • HTML 24.9%
  • CSS 0.3%