Gosta do projeto? Tem muito dinheiro? Compre um café para mim ou algo assim! ☕️
Um aplicativo baseado no site para compartilhar e colaborar em listas de desejos e presentes. O principal objetivo é permitir o compartilhamento de listas de desejos e as idéias de presentes reivindicadas sem o destinatário saber o que está recebendo.
Recursos notáveis:
Questões conhecidas:
Eu recomendo usar o Docker honestamente.
Um banco de dados MySQL especificamente. No futuro, esse processo pode ser simplificado e os diferentes bancos de dados suportados pelo módulo DB podem ser adicionados. Mas, por enquanto, configure um banco de dados MySQL que o Pønskelisten pode entrar em contato e fazer login.
Se você estiver hospedando isso sem o Docker, poderá fazer o download do XAMPP e basta clicar em "Iniciar" no recurso DB. Nenhuma configuração adicional é necessária! Se você estiver usando o Docker, basta usar a imagem do MySQL Docker. Existe até um exemplo de composição do Docker mais abaixo, que só precisa de pequenos ajustes.
Crie uma tabela para Pønskelisten (o Docker Image faz isso automaticamente) e lembre -se do nome da tabela para posteriormente.
Se você deseja editar o arquivo de configuração manualmente, inicie Pønskelisten e deixe reclamar um monte. Você pode editar o arquivo de configuração manualmente depois. Caso contrário, observe mais abaixo os Startup flags para iniciar o pønsklisten com as opções de configuração.
Compile sua ramificação/tag escolhida com Go instalado e executá -lo:
$ go build
$ ./poenskelisten
... ou baixe um lançamento pré-compilado e inicie o aplicativo.
Se você deseja iniciar o Pønskelisten com algumas bandeiras de inicialização para uma experiência mais suave, consulte a próxima seção. Caso contrário, basta ir para a etapa três.
Você pode usar sinalizadores de inicialização para gerar valores para preencher o arquivo de configuração. Eles são usados apenas se o arquivo de configuração não tiver um valor pré-configurado para priorizar. No momento em que o arquivo de configuração tem valores, esses sinalizadores são inúteis. Uma espécie de coisa única.
As exceções são generateinvite , que gerarão um novo código de convite aleatório em cada uso, e disablesmtp o que sempre desativará a função SMTP.
| Bandeira | Tipo | Explicação |
|---|---|---|
| porta | Inteiro | Em que Port Pønskelisten começa. |
| fuso horário | corda | O fuso horário pønskelisten usa. Dado no formato do nome do banco de dados TZ. A lista pode ser encontrada aqui. |
| generateInvite | String (true/false) | Se o pønskelisten deve gerar um código de convite na inicialização. |
| DBIP | corda | O endereço de conexão Pønskelisten usa para alcançar o banco de dados. |
| dbport | Inteiro | O Port Pønskelisten pode atingir o banco de dados em. |
| dbname | corda | O nome da tabela dentro do banco de dados. |
| Dbusername | corda | O nome de usuário usado para automaticamente com o banco de dados. |
| dbpassword | corda | A senha usada para automaticamente com o banco de dados. |
| desabilitamtp | String (true/false) | Desative SMTP, o que significa que o Usuário Verificaton está desativado. O SMTP é ativado por padrão. |
| smtphoSt | corda | O host do servidor SMTP usado. |
| smtpport | Inteiro | A porta do host do servidor SMTP usada. |
| smtpusername | corda | O nome de usuário usado para se autenticar para o servidor SMTP usado. |
| smtppassword | corda | O nome de usuário usado para se autenticar para o servidor SMTP usado. |
| Upgradetov2 | String (true/false) | Converte db.sql na pasta /files no formato V2.00. |
Para usar um sinalizador, basta iniciar o programa GO compilado com valores adicionais. Como:
$ ./poenskelisten -port 7679
$ ./poenskelisten -port 7679 -dbip 127.0.0.1 -dbname mycooltable -smtphost smtp.justanexample.org
/files/config.json Você pode pular esta etapa se utilizar os sinalizadores de inicialização na etapa anterior ou voltar e usar os sinalizadores. Os sinalizadores são apenas uma maneira de fornecer aos parâmetros de inicialização para colocar no arquivo config.json . A tabela de sinalizadores também fornece algumas informações sobre como o arquivo de configuração pode ser editado manualmente.
Edite o arquivo de configuração para que ele possa atingir o banco de dados MySQL e, possivelmente, um servidor SMTP se você não desativar a função SMTP. Atualmente, não existe uma interface de administrador, isso deve ser feito manualmente no arquivo. O fuso horário também é necessário, mas a chave privada deve preencher automaticamente.
Reinicie o Pønskelisten para que as mudanças entrem em vigor.
Você não deve acessar o Pønskelisten. Por padrão, você pode encontrar o front end em localhost:8080 .
Para se inscrever no site, você precisa de um código de convite. Se você usou o sinalizador generateinvite , poderá encontrar um código de convite no arquivo de log localizado no diretório de arquivos ou no console.
Caso contrário, você precisa alterar a tabela de banco de dados para adicionar o código de convite. Retiroso, eu sei.
Eu recomendo a instalação de PhpMyadmin (uma interface de banco de dados) como uma imagem do Docker ou localmente (ela vem pré-embalada no XAMPP). Isso pode ser usado para alterar o banco de dados.
O primeiro usuário que se inscreve é automaticamente um administrador. Você precisa de um código de convite para todo usuário que deseja se inscrever. Isso pode ser gerado na página de administração.
Esteja preparado para acessar o banco de dados toda vez que um usuário consegue estragar seu e-mail enquanto se inscreve ou alguém precisa de um código de convite.
Todos os sinalizadores de inicialização na tabela fornecidos anteriormente podem ser usados como variáveis de ambiente. Lembre -se de que os sinalizadores e, por sua vez, as variáveis de ambiente são usadas apenas se o valor ainda não estiver definido no arquivo de configuração.
As únicas exceções são o generateinvite e o disablesmtp . Considere remover a variável de ambiente generateinvite do seu arquivo de composição do docker para não gerar um novo código em cada reinicialização.
Possui pønskelisten, mysql db e phpmyadmin. Em teoria, você só precisa editar as variáveis de ambiente para o serviço Pønskelisten para este exemplo funcionar.
version: '3.3'
services:
db:
image: mysql:5.7
container_name: poenskelisten-db
restart: unless-stopped
environment:
# The table name you chose
MYSQL_DATABASE: 'ponske'
# User, so you don't have to use root
MYSQL_USER: 'myuser'
# Please switch this password
MYSQL_PASSWORD: 'mystrongpassword'
# Password for root access, change this too
MYSQL_ROOT_PASSWORD: 'root'
networks:
- db
expose:
- '3306'
# Where our DB data will be persisted
volumes:
- ./db/:/var/lib/mysql/ # Location of DB data
poenskelisten:
container_name: poenskelisten-app
image: aunefyren/poenskelisten:latest
restart: unless-stopped
networks:
- db
depends_on:
- db
# Where our Pønskeliste files are
volumes:
- ./data/:/app/files/
ports:
- '8080:8080'
environment:
# Generate an unused invite code on startup
# Remove this value to avoid continuous code-generation
generateinvite: true
# The container will only respect these ENV if they are empty in the config.json
# Useful for first setup
port: 8080
timezone: Europe/Oslo
dbip: db
dbport: 3306
dbname: ponske
dbusername: myuser
dbpassword: mystrongpassword
disablesmtp: false
smtphost: smtphost
smtpport: 25
smtpusername: myusername
smtppassword: mypassword
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
environment:
- PMA_ARBITRARY=1
# DB table
- PMA_HOST:ponske
# Root password
- MYSQL_ROOT_PASSWORD:root
# Timezone
- TZ=Europe/Oslo
container_name: poenskelisten-phpmyadmin
ports:
- 80:80
depends_on:
- db
networks:
- db
networks:
db:
external: false
O que significa pønskelisten?
Apenas um jogo de palavras norueguês inteligente que não se traduz em inglês. Uma lista de desejos é chamada de 'Ønskeliste' em norueguês, e o verbo 'pønske' significa plotar e planejar. Portanto, Pønskelisten.
Você pode remover a necessidade de gerenciar o banco de dados diretamente?
Sim, sim, está chegando.
Bem, isso está no desenvolvimento inicial e torná-lo fácil de usar e vale a pena hospedar é difícil e leva tempo. Certamente é funcional, mas não é necessariamente o que você precisa ou deseja. Sinta -se à vontade para adicionar feedback ou solicitações de recursos na forma de problemas do GitHub.