O sistema de reserva de ingressos de código aberto.
Alf.io ([ˈalfjo]) é um sistema de gerenciamento de participação em eventos gratuito e de código aberto, desenvolvido para organizadores de eventos que se preocupam com privacidade, segurança e política de preços justos para seus clientes.
Você deve ter instalado o Java versão 17 (por exemplo, Oracle, OpenJDK ou qualquer outra distribuição) para construir e executar o alf.io. Observe que para o processo de construção o JDK é necessário.
Postgresql versão 10 ou posterior.
Além disso, o usuário do banco de dados que cria e utiliza as tabelas não deve ser um "SUPERUSER", caso contrário as verificações da política de segurança de linha não serão aplicadas.
Observação
Como o trabalho para Alf.io v2 foi iniciado, este branch pode conter código instável e não testado . Se você deseja construir e implantar o alf.io sozinho, comece com uma versão lançada.
Existem os seguintes perfis de mola
dev
: habilita o modo devspring-boot
: adicionado quando iniciado pelo spring-bootdemo
: habilite o modo de demonstração, as contas do administrador serão criadas instantaneamentedisable-jobs
: desativar trabalhosjdbc-session
: persiste a sessão do usuário no banco de dados Esta compilação inclui uma cópia do wrapper Gradle. Você não precisa ter o Gradle instalado em seu sistema para construir o projeto. Simplesmente execute o wrapper junto com a tarefa apropriada, por exemplo
./gradlew clean
Você deve especificar uma propriedade do projeto na linha de comando, como
./gradlew -Pprofile=dev :bootRun
A tarefa local "bootRun" possui os seguintes pré-requisitos:
docker run -d --name alfio-db -p 5432:5432 -e POSTGRES_PASSWORD=password -e POSTGRES_DB=alfio --restart unless-stopped postgres
uma vez iniciado, o alf.io criará todas as tabelas necessárias no banco de dados e estará disponível em http://localhost:8080/admin. Você pode fazer login usando o nome de usuário padrão admin e a senha que foi impressa no console.
Você pode obter uma lista de todas as tarefas Gradle suportadas executando
./gradlew tasks --all
Você pode configurar propriedades adicionais do sistema (se precisar delas) criando o seguinte arquivo e colocando nele uma propriedade por linha:
vi custom.jvmargs
Esteja ciente de que, como este arquivo pode conter informações confidenciais (como a chave de API privada do Google Maps), ele será automaticamente ignorado pelo git.
Adicione uma nova linha com: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
em custom.jvmargs
A importação do projeto Gradle para o Intellij e o Eclipse funciona.
Notas :
Como TestContainers espera o soquete docker para gerenciar os contêineres, você precisará fazer o seguinte (consulte o problema original para obter detalhes):
Defina os 2 ambientes. variável:
export TESTCONTAINERS_RYUK_DISABLED=true
export DOCKER_HOST=unix:///run/user/1000/podman/podman.sock
E execute em outro console:
podman system service -t 0
A ser observado:
./gradlew dependencyUpdates
As imagens do contêiner estão disponíveis em https://hub.docker.com/r/alfio/alf.io/tags.
alf.io também pode ser executado com Docker Compose ( modo de desenvolvimento ):
docker-compose up
A execução de alf.io em produção usando Docker compose não é oficialmente suportada. No entanto, se você decidir fazer isso, precisará fazer algumas alterações:
alfio
no arquivo docker-compose.yml
.env
tutum/haproxy
) 443 -> 8080docker logs alfio
boot2docker IP
no Mac/Windowshttps://DOCKER_IP/admin
./gradlew distribution
Alternativamente, você pode usar o Docker ( experimental ):
docker run --rm -u gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:7.0.0-jdk11 gradle --no-daemon distribution -x test
Observe que no momento o comando acima realiza a compilação sem executar os testes automatizados. Use-o por sua conta e risco.
docker build -t alfio/alf.io ./build/dockerize
O certificado em src/main/resources/alfio/certificates/AppleWWDRCAG4.cer foi importado para a funcionalidade https://github.com/ryantenney/passkit4j#usage. Ele expirará em 12/10/2030 (AAAA-MM-DD - em https://www.apple.com/certificateauthority/).
Este projeto existe graças a todas as pessoas que contribuem.
Um grande "Obrigado" vai também para os nossos tradutores, que nos ajudam no POEditor:
(mostramos o nome/perfil completo apenas se tivermos recebido consentimento explícito para fazê-lo)
Linguagem | Nome | GitHub | |
---|---|---|---|
Holandês (nl) | Mathjis | ||
Turco (tr) | Dilek | ||
Espanhol (es) | Mário Varona | @mvarona | @MarioVarona |
Espanhol (es) | Sergio Almar | @salmar | @sergialmar |
Espanhol (es) | Jeremias | ||
Búlgaro (bg) | Martin Zhekov | @Martin03 | @MartensZone |
Português (pt) | Hugo | ||
Sueco (sv) | João | ||
Romeno (ro) | Danilo | ||
Polonês (pl) | Pawel | ||
Dinamarquês (da) | Sol |
traduções concluídas, mas ainda não integradas (WIP)
Linguagem | Nome | GitHub | |
---|---|---|---|
Japonês (jp) | Martinho | ||
Chinês (Taiwan) (cn_TW) | Yu-cheng, Lin |
Este projeto é patrocinado por:
Torne-se um contribuidor financeiro e ajude-nos a sustentar nossa comunidade. [Contribuir]
Apoie este projeto com sua organização. Seu logotipo aparecerá aqui com um link para seu site. [Contribuir]