Skip to content

santiavenda2/pyarweb

 
 

Repository files navigation

¿Queres colaborar en el proyecto? Al momento tenemos Stories in Ready tareas en las que podes colaborar, sube a bordo!

Build Status

pyarweb

Es la implementación del sitio para PyAr / Python Argentina hecha con Django por su comunidad, wooohooo!

Mas de 20 personas sprinteando en PyconAr!!!

¿Cómo arranco / instalo el proyecto en mi máquina?

Provisionamiento:

Con Docker (Recomendado)

  1. Instalar Docker

  2. Clona / Forkea el repositorio. Dentro del directorio scripts se encuentra el archivo webcli.py, Ejecutalo pasando --help para ver las opciones disponibles:

    edvm@debian:~/Repos/edvm/pyarweb (develop)*$ ./scripts/webcli.py --help
    usage: webcmd [-h] [--build-image] [--run-container] [--del-container]
                  [--run-shell]
    
    Helper to start a Pyarweb development instance.
    
    optional arguments:
      -h, --help       show this help message and exit
      --build-image    Build PyAr web docker image
      --run-container  Creates the docker container 
      --del-container  Removes PyAr web container
      --run-shell      Exec a bash interpreter on a running containe
    
    

    2.1. Crea la imagen (build) localmente, para ello ejecuta: scripts/webcli.py --build-image

    2.2. Crea el container a partir de la imagen generada anteriormente, para ello ejecuta: scripts/webcli.py --run-container.

  3. Una vez ejecutado scripts/webcli.py --run-container, debes:

    3.1 Instala los requirements con: pip install -r /opt/code/requirements.txt

    3.2 Corre los migrations con: cd /opt/code && ./manage.py migrate

  4. Corre el proyecto con: ./manage.py runserver 0.0.0.0:8000

  5. Abre tu navegador apuntando a: http://127.0.0.1:8000

Con Vagrant:

  1. Instalar VirtualBox y Vagrant.

  2. Levantar maquina virtual (esto ya instala todas las dependencias):

     $ cd path/to/pyarweb
     $ vagrant up
    
  3. Entrar a la maquina virtual y levantar servicios:

     $ cd path/to/pyarweb
     $ vagrant ssh
     vagrant@vagrant $ cd /vagrant/
    

Sin Vagrant:

Debes tener Python 3.3 o 3.4, no hay compatibilidad con Python 2.

  1. Debes crear un nuevo virtualenv.

    • Usando pyvenv

        $ pyvenv3-3 pyarweb
      
    • Usando virtualenvwrapper

      $ export VIRTUALENV_PYTHON=/usr/bin/python3
      $ mkvirtualenv pyarweb
      
    • Usando virtualenv

      $ virtualenv -p /usr/bin/python3.4 pyarweb
      
  2. Activas tu virtualenv.

  • Mediante source

    $ source pyarweb/bin/activate
    
  • Mediante virtualenvwrapper

    $ workon pyarweb
    
  • Mediante virtualenv

    $ source pyarweb/bin/activate
    
  1. Si no tenés pip instalado, descarga el .tar.gz desde https://pypi.python.org/pypi/setuptools e instalalo con el python3 de tu virtualenv. Luego de instalar setuptools hacer:

    $ easy_install-3.3 pip
    
  2. Instalar librerías de desarrollo.

    $ sudo apt-get install python3-dev libxml2-dev libxslt1-dev zlib1g-dev libffi-dev
    
  3. Instalar las dependencias.

    $ pip3 install -r ./requirements.txt
    
  4. Instalar Redis

    $ sudo apt-get install redis-server
    

Correr Servicios:

  1. Sincronizar BD con los modelos:

    $ python manage.py migrate
    
  2. Correr Celery para Planeta PyAr:

  3. Correr Celery (usando el comando dentro de tu virtualenv)

```
$ python manage.py celery -A pyarweb worker --beat --autoreload --loglevel=INFO
```
  1. Correr el servidor de desarrollo:

    En Vagrant:

    $ python3 manage.py runserver 0.0.0.0:8000
    

    En local:

    $ python3 manage.py runserver
    

Visita con tu browser la dirección http://localhost:8000 para ver el sitio.

Para más información, si queres contribuír con el proyecto, no dejes de visitar el Manual básico de supervivencia para colaborar con el sitio de PyAr.

Cómo obtener los datos de la wiki

Además de la wiki en sí, algunas paginas especiales son gestionadas con waliki, por lo que podrías querer los datos.

Para eso, podés clonar el repo https://github.com/PyAr/wiki.git en el directorio waliki_data del root de tu proyecto (o el que indique la constante WALIKI_DATA_DIR de tu local_settings.py)

Luego de clonar el repo, tenés que sincronizar la base de datos ejecutando:

python manage.py sync_waliki

Cargar feeds del planeta

El archivo fixtures/planeta_pyar.json contiene los feeds del planeta actual, asociados al usuario con id 1.

Para cargarlos, ejecuta:

$ python manage.py loaddata fixtures/planeta_pyar.json

Más adelante habrá que asociar cada blog al usuario correspondiente.

Contribuyendo con PyArWeb

Existen varias maneras de contribuir con la web de PyAr, reportando bugs, revisando que esos bugs se encuentren vigentes, etc, los pasos que se encuentran a continuación describen como realizar contribuciones a nivel de la aplicación.

Todas las contribuciones son mas que bienvenidas, pero para empezar a contribuir (con código) estos serían los siguientes pasos:

  1. Lee el archivo CONTRIBUTING.md para entender cómo funciona git, git-flow y tener una calidad mínima del código

  2. Recuerda hacer tests! (en lo posible) de los cambios que hagas, si bien la base de tests en este momento no es muy grande es algo que estaremos intentando cambiar

  3. Una vez tengas todo revisado haz un pull request a este proyecto https://github.com/PyAr/pyarweb/ y haz referencia al issue.

Una vez tu pull request sea aprobado tu código pasará a la inmortalidad de PyAr :)

About

El nuevo sitio de Python Argentina

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 50.8%
  • Python 40.1%
  • CSS 8.5%
  • Other 0.6%