Skip to content

Commit fba62f8

Browse files
committed
Improve and refactor documentation
1 parent 54c2be3 commit fba62f8

5 files changed

Lines changed: 151 additions & 107 deletions

File tree

CONTRIBUTING.md

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
1-
## Cómo contribuir a este proyecto
1+
## Contribuyendo a este proyecto
22

33
Si quieres contribuir a este proyecto, hay muchas cosas que puedes hacer.
44
Tenemos una etiqueta en los _issues_ del [repositorio de este
5-
proyecto](https://github.com/pythoncanarias/pycan-web/issues) para
5+
proyecto](https://github.com/pythoncanarias/pycan-web/issues) para
66
[aquellas tareas que pensamos que son un buen punto de partida](https://github.com/pythoncanarias/pycan-web/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
77
para empezar a contribuir
88
al desarrollo.
99

1010
Si es la primera vez que vas a contribuir a un proyecto de _software_ libre,
11-
quizá te sea de ayuda este documento: [Cómo hacer tu primera contribución a
12-
Python Canarias](docs/primeros_pasos.md)
11+
quizá te sea de ayuda este documento: [cómo hacer tu primera contribución a
12+
Python Canarias](docs/first-contrib.md).
1313

1414
Además de las tareas propias de desarrollo, hay muchas otras formas de ayudar,
1515
una de las principales es aportar nuevas ideas para mejorar la web, así
16-
como avisarnos de cualquier error que encuentres en la misma.
16+
como avisarnos de cualquier error que encuentres en la misma. Esto lo puedes hacer creando un nuevo _issue_ [en la sección correspondiente de GitHub](https://github.com/pythoncanarias/pycan-web/issues).
1717

18-
Para contribuir como desarrollador, en el documento [README.md](README.md) se
19-
explica cómo montar un entorno de desarrollo propio usando _Docker_ y
20-
_Docker Compose_.
18+
Para contribuir como desarrollador/a, hemos preparado un manual donde se explica [cómo montar un entorno de desarrollo](docs/dev.md) propio usando _Docker_ y _Docker Compose_.
2119

2220
## Sobre el idioma a usar en este proyecto
2321

@@ -33,36 +31,34 @@ idea es ir traduciendo todos esos documentos hasta conseguir el estado mostrado
3331
en la siguiente tabla:
3432

3533
| Área | Idioma |
36-
|-----------------------|--------|
37-
| Variables en código | 🇬🇧 |
38-
| Comentarios en código | 🇬🇧 |
39-
| _Commits_ | 🇬🇧 |
40-
| README | 🇪🇸 |
41-
| Documentación | 🇪🇸 |
42-
| _Issues_ | 🇪🇸 |
43-
| Etiquetas de _issues_ | 🇪🇸 |
44-
| _Pull Requests_ | 🇪🇸 |
45-
| Texto de la web | 🇪🇸 |
46-
47-
48-
## Notas para los desarrolladores
49-
50-
El desarrollo consiste en una aplicación Django, y algunas partes de _frontend_
34+
| --------------------- | ------ |
35+
| Variables en código | 🇬🇧 |
36+
| Comentarios en código | 🇬🇧 |
37+
| _Commits_ | 🇬🇧 |
38+
| README | 🇪🇸 |
39+
| Documentación | 🇪🇸 |
40+
| _Issues_ | 🇪🇸 |
41+
| Etiquetas de _issues_ | 🇪🇸 |
42+
| _Pull Requests_ | 🇪🇸 |
43+
| Texto de la web | 🇪🇸 |
44+
45+
## Notas para desarrolladores
46+
47+
El desarrollo consiste en un proyecto Django, y algunas partes de _frontend_
5148
escritas en _javascript_ plano. Por el momento no nos hemos decidido a usar
5249
ningún _framework_, aunque algunos del equipo tenemos una cierta preferencia
5350
por [vue.js](https://vuejs.org/).
5451

55-
Se ha intentado seguir en lo posible las prácticas habituales en Django, pero
52+
Se ha intentado seguir en lo posible las [buenas prácticas habituales de Django](https://django-best-practices.readthedocs.io/en/latest/), pero
5653
en algunos casos se han realizado modificaciones sobre lo que podría
5754
considerarse un proyecto Django _estándar_. Explicaremos estas divergencias en las
5855
siguientes secciones.
5956

6057
### Organización de código de las aplicaciones de Django
6158

6259
Como hay muchas aplicaciones o _apps_, las tenemos todas todas bajo una única
63-
carpeta `apps`, para reducir la cantidad de _ruido_ en
64-
la carpeta raíz. Si crees necesario añadir una nueva _app_, créala por favor al
65-
mismo nivel que las actuales.
60+
carpeta `apps`, para reducir la cantidad de _ruido_ en
61+
la carpeta raíz. Si crees necesario añadir una nueva _app_, [lee este documento con atención](docs/new-app.md).
6662

6763
### Estilo de código
6864

@@ -74,6 +70,8 @@ debajo de 96 caracteres por línea.
7470
Algunos de nosotros usamos la herramienta [black](https://github.com/psf/black)
7571
para formatear el código, pero no se considera obligatorio.
7672

73+
Así mismo, existen herramientas como [flake8](https://flake8.pycqa.org/en/latest/) que detectan divergencias del estilo de código frente a los estándares establecidos.
74+
7775
### Dependencias
7876

7977
Intentamos mantener el número de dependencias bajo. Un alto número de
@@ -95,8 +93,8 @@ Veamos, por ejemplo, la _app_ `notice`, que se usa para enviar notificaciones
9593
a los miembros ante determinados eventos, como por ejemplo el aviso un mes
9694
antes de que se venza su permanencia a la organización.
9795

98-
En la clase `apps.notice.models.Notice` se definen algunos métodos, pero
99-
solo aquellos que afectan o cambian el estado del propio modelo, sin
96+
En la clase `apps.notice.models.Notice` se definen algunos métodos, pero
97+
solo aquellos que afectan o cambian el estado del propio modelo, sin
10098
ninguna tercera parte implicada. En concreto, no existe un método
10199
para enviar la notificación en si.
102100

@@ -111,13 +109,12 @@ consultar o cambiar su estado interno, pero que cualquier interacción con
111109
otras clases o componentes debe realizarse fuera de la clase, preferiblemente
112110
en un módulo aparte.
113111

114-
115112
### Asigna nombres únicos a las clases
116113

117114
Hay muchas razones para esto, pero veamos solo una. Si nos encontramos con una
118115
nueva clase mientras examinamos el código, lo deseable es que una búsqueda o un
119116
_grep_ por el nombre de la clase nos devuelva solo la definición y los usos de
120-
la misma. Cualquier otra cosa que aparezca será ruido. Si tengo dos clases con
117+
la misma. Cualquier otra cosa que aparezca será ruido. Si tengo dos clases con
121118
el mismo nombre en ficheros diferentes, esto solo complica el entender en que
122119
contextos y de que forma se usa cada una de las clases. Razones similares se
123120
pueden argumentar para las variables o constantes globales.
@@ -135,10 +132,9 @@ sido preferible haber buscado otro nombre que no estuviera en conflicto con uno
135132
ya existente (`@jileon`: Yo lo sé bien ya que fui yo el que creó la clase
136133
duplicada).
137134

138-
139135
### Funciones vs clases para vistas
140136

141137
Para las vistas, preferimos, en general, usar funciones en vez de vistas
142138
basadas en clases. En ningún caso debe entenderse esta recomendación como una
143139
prohibición de usar _CBV_, es solo que preferimos usarlas para casos sencillos
144-
y/o triviales, y usar funciones para todo lo demás.
140+
y/o triviales, y usar funciones para todo lo demás.

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
# Python Canarias
44

5-
65
![Python Canarias Banner](docs/assets/python_canarias_banner.png)
76

8-
Sitio Web de [Python Canarias](https://pythoncanarias.es/) 🚀   felizmente hecho con [Django](https://www.djangoproject.com/).
7+
Sitio Web de [Python Canarias](https://pythoncanarias.es/) 🚀   felizmente hecho con [Django](https://www.djangoproject.com/)
98

109
</div>
1110

@@ -14,10 +13,10 @@ Sitio Web de [Python Canarias](https://pythoncanarias.es/) 🚀 &nbsp; felizment
1413
## Tabla de contenido
1514

1615
- [Contribuyendo a este proyecto](CONTRIBUTING.md).
17-
- [Configuración del entorno de Desarrollo](docs/dev.md)
18-
- [Configuración del entorno de Producción](docs/prod.md)
19-
- [Añadir una nueva app](docs/new-app.md)
20-
- [API](docs/api.md)
16+
- [Configuración del entorno de desarrollo](docs/dev.md).
17+
- [Configuración del entorno de producción](docs/prod.md).
18+
- [Añadir una nueva app](docs/new-app.md).
19+
- [API](docs/api.md).
2120

2221
## Licencia
2322

docs/dev.md

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Configuración para desarrollo
1+
# Configuración del entorno de desarrollo
22

3-
## Entorno de Docker
3+
## Entorno Docker
44

55
Este proyecto tiene requisitos variados que hacen altamente recomendable configurar un entorno de desarrollo usando [Docker Compose](https://docs.docker.com/compose/).
66

@@ -31,7 +31,7 @@ $ docker-compose exec -T database /bin/bash -c \
3131
3232
---
3333

34-
5. Crea un superusuario:
34+
5. Crea un superusuario que te permita acceder a la [interfaz administrativa de Django](#interfaz-administrativa):
3535
```console
3636
$ docker-compose exec web ./manage.py create_default_admin # admin | admin
3737
```
@@ -42,28 +42,16 @@ Eso es todo, ahora puedes visitar http://localhost:8000/
4242
4343
### Interfaz Administrativa
4444

45-
Puedes acceder a la interfaz administrativa de Django yendo a https://docs.docker.com/compose/ y usando las credenciales `admin` / `admin`.
45+
Puedes acceder a la interfaz administrativa de Django yendo a http://localhost:8000/admin/ usando las credenciales `admin` / `admin`.
4646

4747
### Multimedia
4848

49-
Si dispones de ficheros multimedia para testing o como copias de producción, puedes ponerlos en el directorio `$PROJECT/media`. Hay un volumen de Docker Compose configurado para cargarlos desde ahí.
50-
51-
## Estilo de código
52-
53-
Intentamos homogeneizar nuestro estilo de código en Python:
54-
55-
- Indentado con 4 espacios.
56-
- Máximo ancho de línea: 79 caracteres.
57-
- Orden de imports como indica [PEP8](https://www.python.org/dev/peps/pep-0008/#imports).
58-
- Linter de Python: [Flake8](https://flake8.pycqa.org/en/latest/)
59-
- Autoformateador de Python: [Black](https://github.com/psf/black)
49+
Si dispones de ficheros multimedia para testing o como copias de producción, puedes dejarlos en el directorio `$PROJECT/media`. Hay un volumen de Docker Compose configurado para cargarlos desde ahí.
6050

6151
## VSCode y Docker
6252

63-
Si usas [Visual Studio Code](https://code.visualstudio.com/), puedes enlazar un contenedor remoto y configurar el IDE para usarlo.
64-
65-
Para usar el entorno de desarrollo Docker Compose en VSCode, instala la extensión [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).
53+
Si usas [Visual Studio Code](https://code.visualstudio.com/), puedes enlazar un contenedor remoto y configurar el IDE para usarlo. Para ello recomendamos instalar la extensión [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).
6654

6755
El directorio `.devcontainer` contiene la configuración necesaria para dar soporte a esta integración. Sigue [estas instrucciones](https://code.visualstudio.com/docs/remote/containers) para habilitarlo.
6856

69-
> Python Malaga tiene un buen [tutorial de cómo configurar VSCode usando Docker](https://www.youtube.com/watch?v=mxpq0ntJ8T8).
57+
> &nbsp;Python Malaga tiene un buen [tutorial de cómo configurar VSCode usando Docker](https://www.youtube.com/watch?v=mxpq0ntJ8T8).
Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
## Cómo hacer tu primera contribución a Python Canarias
1+
## Cómo hacer tu primera contribución a Python Canarias <!-- omit in toc -->
22

3-
Antes de nada, gracias por tu interés, solo eso ya significa bastante para
4-
nosotros. Hacer una contribución al _software_ libre es muy interesante, no
5-
solo para contribuir a la comunidad, también es una forma de aprender y
6-
adquirir nuevas competencias, y de formar parte de nuestra comunidad.
3+
Antes que nada, gracias por tu interés, solo estar aquí ya significa bastante para
4+
nosotrxs. Hacer una contribución al _software_ libre es muy interesante, no
5+
solo para contribuir a la comunidad, sino como una forma de aprender y
6+
adquirir nuevas competencias, y a la vez de formar parte de nuestra comunidad.
77

8-
### Primer paso, empezar con Git y GitHub
8+
- [Primer paso: empezar con Git y GitHub](#primer-paso-empezar-con-git-y-github)
9+
- [Segundo paso: hacer un _fork_ del repositorio](#segundo-paso-hacer-un-fork-del-repositorio)
10+
- [Tercer paso: clonar el repositorio](#tercer-paso-clonar-el-repositorio)
11+
- [Cuarto paso: crear una nueva rama](#cuarto-paso-crear-una-nueva-rama)
12+
- [Quinto paso: incorporar tus cambios](#quinto-paso-incorporar-tus-cambios)
13+
- [Sexto paso: exportar o entregar (_push_) los cambios locales al repositorio](#sexto-paso-exportar-o-entregar-push-los-cambios-locales-al-repositorio)
14+
- [Séptimo paso: crear un _Pull Request_](#séptimo-paso-crear-un-pull-request)
15+
16+
### Primer paso: empezar con Git y GitHub
917

1018
Lo primero que necesitas es un conocimiento, aunque sea básico, de Git y GitHub.
1119
Si no sabes nada de Git ni de GitHub, te recomendamos el tutorial
@@ -17,40 +25,39 @@ puedes crearte una sin problemas, es totalmente gratuito.
1725

1826
Nuestro proyecto está alojado en la siguiente página:
1927

20-
[https://github.com/pythoncanarias/pycan-web](https://github.com/pythoncanarias/pycan-web)
21-
28+
[https://github.com/pythoncanarias/pycan-web](https://github.com/pythoncanarias/pycan-web) 🚀
2229

23-
### Segundo paso, hacer un _fork_ del repositorio
30+
### Segundo paso: hacer un _fork_ del repositorio
2431

2532
Con tu cuenta de GitHub, ahora puedes hacer un _fork_ de nuestro proyecto en tu
2633
repositorio. Este _fork_ es simplemente una copia de nuestro repositorio, que
2734
es independiente del original, en el sentido de que puedes realizar los
28-
cambios que quieras en la misma y no tendrán efecto ninguna en nuestro código.
35+
cambios que quieras en el mismo y no tendrán efecto ninguno en nuestro código.
2936
Así puedes experimentar y jugar con el código sin miedo a romper nada.
3037

3138
Para hacer el _fork_, asegúrate de que estás validado correctamente en _GitHub_
32-
con tu cuenta, y simplemente y visita con tu navegador nuestro repositorio.
39+
con tu cuenta, y simplemente visita con tu navegador nuestro repositorio.
3340
Una vez allí, solo tienes que pulsar el botón con la leyenda _Fork_.
3441

3542
![Github Fork](./assets/github-fork.png)
3643

3744
El nuevo repositorio, el tuyo, tendrá una URL como esta:
3845

3946
```
40-
https://github.com/<Tu User Name>/pycan-web
47+
https://github.com/<tu-nombre-de-usuario>/pycan-web
4148
```
4249

43-
### Tercer paso, clonar el repositorio
50+
### Tercer paso: clonar el repositorio
4451

45-
Ahora tienes el código en tu propio repositorio en _GitHub_. El siguiente
52+
Ahora tienes el código en tu propio repositorio en _GitHub_. El siguiente
4653
paso es descargar el código en una carpeta de tu ordenador, un sitio
47-
donde puedes trabajar cómodamente con él.
54+
donde puedas trabajar cómodamente con él.
4855

4956
Esta operación se conoce como _clonado_ del repositorio. Para ello, abre una
5057
terminal y escribe el siguiente comando:
5158

5259
```shell
53-
git clone https://github.com/<TuUserName>/pycan-web.git
60+
git clone https://github.com/<tu-nombre-de-usuario>/pycan-web.git
5461
```
5562

5663
Ahora ya tienes una copia local de tu repositorio en tu disco duro.
@@ -62,10 +69,10 @@ hecho en nuestro repositorio. Para vincular con el repositorio original, usa el
6269
siguiente comando:
6370

6471
```shell
65-
git remote add upstream https://github.com/pythoncanarias/pycan-web
72+
git remote add upstream https://github.com/pythoncanarias/pycan-web
6673
```
6774

68-
### Quinto paso, crear una nueva rama
75+
### Cuarto paso: crear una nueva rama
6976

7077
Para crear una rama usaremos el siguiente comando:
7178

@@ -78,8 +85,7 @@ se quedan dentro de esta rama hasta que se pueda reunificar esta rama con la
7885
rama principal, o bien se borre esta rama y descartemos todos los cambios que
7986
hubiera en ella.
8087

81-
82-
### Sexto paso
88+
### Quinto paso: incorporar tus cambios
8389

8490
Aquí es donde haces tu magia: realiza los cambios que creas oportunos,
8591
los pruebas si puedes y los vas añadiendo a la rama. Puedes usar `git status` para
@@ -96,26 +102,26 @@ Cada vez que modifiques el código, el comando `add` tiene que ser ejecutado otr
96102
vez para que los últimos cambios se tengan en cuenta en el área de trabajo.
97103

98104
Existe la forma abreviada `git add -u` para que añada al área de trabajo todos
99-
los ficheros que hayan sido actualizados (`-u` por _updated_). Yo suelo añadir el
105+
los ficheros que hayan sido actualizados (`-u` por _updated_). También es útil el
100106
_flag_ `-v` para que me muestre un listado de los ficheros añadidos, o sea que
101107
quedaría así: `git add -uv`.
102108

103-
Cuando estés segura de tus cambios, puedes confirmarlos con la
109+
Cuando estés segura de tus cambios, puedes confirmarlos con la
104110
orden `commit` de Git:
105111

106112
```shell
107113
git commit -m "Comentario describiendo los cambios realizados"
108114
```
109115

110-
Nota: No es necesario que hagas un único _commit_ al final, puedes realizar todos
111-
los commits que quieras, pero si es verdad que el paso previo a subir el código
112-
al repositorio debe ser un `commit`. Si no lo hacemos así, quedarían cambios
113-
el el área de trabajo no confirmadas y, por tanto, ignoradas en el siguiente
114-
paso, en el `push`.
115-
116-
### Séptimo paso, exportar o entregar (_push_) los cambios locales al repositorio.
116+
> Nota: No es necesario que hagas un único _commit_ al final, puedes realizar todos
117+
> los commits que quieras, pero si es verdad que el paso previo a subir el código
118+
> al repositorio debe ser un `commit`. Si no lo hacemos así, quedarían cambios
119+
> el el área de trabajo no confirmadas y, por tanto, ignoradas en el siguiente
120+
> paso, en el `push`.
117121
118-
Como se comentó antes, el comando básico aquí es `push`:
122+
### Sexto paso: exportar o entregar (_push_) los cambios locales al repositorio
123+
124+
Como se comentó antes, el comando básico aquí es `push`:
119125

120126
```shell
121127
git push -u origin <nombre de la rama>
@@ -124,32 +130,31 @@ git push -u origin <nombre de la rama>
124130
Este paso crea la rama en el repositorio remoto y sube todos los
125131
cambios que estén confirmados en el área de trabajo.
126132

127-
### Octavo paso, crear un _Pull Request_
133+
### Séptimo paso: crear un _Pull Request_
128134

129135
Una vez que tus cambios están en tu repositorio, están listos para
130136
realizar un _Pull Request_, que básicamente es una solicitud hecha para
131-
incorporar los cambios incluidos en una rama a otra rama.
137+
incorporar los cambios incluidos desde una rama a otra rama.
132138

133139
En este caso, lo que debemos hacer es un _Pull Request_ indicando que queremos
134-
incorporar los cambios realizados en nuestra rama hacia la rama `mastar` del
140+
incorporar los cambios realizados en nuestra rama hacia la rama `main` del
135141
repositorio original (Es decir, el repositorio de Python Canarias desde
136142
el cual se hizo el _fork_ en el paso dos).
137143

138144
Para ello, abrimos el navegador apuntando a nuestro repositorio en GitHub y
139145
pulsamos el botón que reza "_Compare and Pull Request_". Si todo ha ido bien
140146
nosotros, los mantenedores del repositorio original, seremos notificados
141-
de los cambios y podremos revisarlos y si los encontramos adecuados,
142-
incorporarlos al mismo.
143-
144-
Felicidades, acabas de realizar tu aportación a Python Canarias.
147+
de los cambios y podremos revisarlos. Si los encontramos adecuados,
148+
los incorporaremos en la rama de producción. En caso contrario se hará una revisión solicitando una serie de cambios que puedes aportar en la misma rama que has utilizado.
145149

150+
**¡Felicidades, acabas de realizar tu primera aportación a Python Canarias!** 🎉
146151

147-
### Enlaces interesantes
152+
### Enlaces de interés <!-- omit in toc -->
148153

149-
- [La guía para principiantes de Git y Github](https://www.freecodecamp.org/espanol/news/guia-para-principiantes-untitled/) de FreeCodeCamp
154+
- [La guía para principiantes de Git y Github](https://www.freecodecamp.org/espanol/news/guia-para-principiantes-untitled/) de FreeCodeCamp.
150155

151-
- [Hacktoberfest](https://hacktoberfestes.dev/)
156+
- [Hacktoberfest](https://hacktoberfestes.dev/).
152157

153-
- [Make your first open source contribution](https://markodenic.com/make-your-first-open-source-contribution/) de Marko Denic
158+
- [Make your first open source contribution](https://markodenic.com/make-your-first-open-source-contribution/) de Marko Denic.
154159

155-
- [Recursos de Programación](https://github.com/Acadeller/recursos-programacion)
160+
- [Recursos de Programación](https://github.com/Acadeller/recursos-programacion).

0 commit comments

Comments
 (0)