Skip to content

kleer-la/eventer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,257 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<img src=“?” alt=“Build Status” /> <img src=“coveralls.io/repos/kleer-la/eventer/badge.png?branch=develop” alt=“Coverage Status” /> <img src=“codeclimate.com/github/kleer-la/eventer/badges/gpa.svg” />

KEventer es una aplicación de administración de cursos, calendarios e inscripciones que utilizamos en Kleer como back-end de nuestro sitio web público.

Una vez clonado el repositorio e instalados los componentes no-ruby, ejecutá los siguientes pasos para poner a andar tu ambiente de desarrollo: (ver alternativa docker más abajo)

  • Instalá las dependencias: bundle install

  • Base de datos

    rails db:migrate        # Creá la base de dates
    rails db:seed           # Cargá los datos iniciales
    rails db:test:prepare   # Preparar db de prueba
  • Ejecutar todas las pruebas: rails spec;rails feature

    NOTA: en este momento no funciona cucumber + selenium en ambiente desarrollo
    para nuevas versiones de firefox, descargar geckodriver y ubicarlos en /usr/local/bin
    para el captcha usar:
    
    #export RECAPTCHA_SITE_KEY="6Ld_iSIUAAAAAC2VRB5HPMSoEvQb4UGREvqbxGbQ"
    #export RECAPTCHA_SECRET_KEY="6Ld_iSIUAAAAAClJtl3YV7HfT4B4idylgMrBLQ9k"
  • Ejecutar pruebas rápidas:

    bundle exec rails ci
    
  • Ejecutar pruebas lentas:

    bundle exec rails slow_tests
    
  • Ejecutar alguna prueba:

    bundle exec rails spec SPEC=<path relativo>
  • Migration antes de pruebas

    RAILS_ENV=test rails db:migrate
    
  • Poblar base de datos de desarrollo con referencias de imágenes para testing:

    bundle exec rake dev:populate_image_usage
    # Esto añade una imagen de prueba (Encontrar-tus-ritmos-organizandote-mejor.webp)
    # a varios modelos para poder testear la página de uso de imágenes en:
    # /admin/images/usage?bucket=image&key=Encontrar-tus-ritmos-organizandote-mejor.webp
    
  • Monitoreo de enlaces rotos en imágenes:

    bundle exec rake monitoring:check_image_links
    # Verifica todos los enlaces de imágenes en la base de datos y genera reporte
    # de enlaces rotos en tmp/broken_links_report_TIMESTAMP.json
    # Recomendado ejecutar semanalmente para monitoreo continuo
    
    #export KEVENTER_AWS_ACCESS_KEY_ID="..."
    #export KEVENTER_AWS_SECRET_ACCESS_KEY:="..."
    #export AWS_REGION="us-east-1"
    
  • Tambien es importante setear las variables, by default hay datos para abientes de prueba:

    PUBLIC_DOMAIN=http://localhost:3000
  • Si están todas las variables en eventer.env (no es necesario si se ejecuta con ./runserver)

    set -a;. ./eventer.env;set +a
  • Inicia la aplicación:

    rails s -b 0 # sin ssl -> para desarrollo local con website
    rails s -b 'ssl://0:3000?key=localhost.key&cert=localhost.crt'
  • Alternativamente, podés iniciar la aplicación (incluye seteo de variables) ./runserver.sh

https://www.opensourceagenda.com/projects/rails-puma-ssl

Enjoy!

  • Iniciar el contenedor

    docker compose run --service-ports eventer bash
  • Ir al directorio de la aplicación

    cd /home/eventer
  • Seguir con las instrucciones previas

  • Si usas rails generate, los archivos quedan con usuarios del containter y no se pueden grabar con VS Code.

    sudo chown -R juan .
  • Si aparecen varios archivos como modificados, probar con

    git config --global core.autocrlf true
# una vez - ambiente test (qa2.kleer.la)
heroku git:remote -a keventer-test
git remote rename heroku heroku-test
# cada deploy a test
git push heroku-test develop:master

# una vez - ambiente prod (www.kleer.la)
heroku git:remote -a keventer
# cada deploy a prod
git push heroku master:master

Configurar el mail de destino con CONTACT_US_MAILTO

Ejemplo como generar Claves para CONTACT_US_SECRET

openssl rand -base64 128

rails image_reference:list

heroku run “rails runner ‘Resource.pluck(:slug).each { |slug| puts "www.kleer.la/es/recursos/#{slug}" }’” -a app

rails contacts:generate_assessment[38]

curl -X POST \

-H "Content-Type: application/json" \
-d '{
  "name": "Test User",
  "email": "test@example.com",
  "company": "Test Inc",
  "resource_slug": "supercard",
  "language": "en",
  "content_updates_opt_in": "true",
  "newsletter_opt_in": "true",
  "context": "/some/path",
  "secret": ""
}' \
http://localhost:3000/api/contacts

curl -X POST localhost:3000/api/contacts/contact_us \ -H “Content-Type: application/json” \ -d ‘{

"name": "Test User",
"email": "test@example.com",
"company": "Test Inc",
"context": "/contact",
"subject": "",
"message": "Hello, I have a question.",
"language": "en",
"secret": ""

}‘

About

Gestor de Eventos

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 44.8%
  • SCSS 32.9%
  • JavaScript 8.2%
  • HTML 6.4%
  • Haml 6.1%
  • CoffeeScript 0.6%
  • Other 1.0%