Hugo Peixoto
9058ed98f7
Instead of sending all the payment details by email, we're now sending only a link to a page on this platform. This is to help reduce questions of whether the emails are from scammers or real.
123 lines
4.7 KiB
Markdown
123 lines
4.7 KiB
Markdown
# saucy
|
|
|
|
Uma plataforma de gestão de sócies para associações. Desenvolvido e usado pela
|
|
[ANSOL - Associação Nacional para o Software Livre](https://ansol.org).
|
|
|
|
|
|
## Licença
|
|
|
|
saucy - Copyright (C) 2022 ANSOL
|
|
|
|
This program is free software: you can redistribute it and/or modify it under
|
|
the terms of the GNU Affero General Public License as published by the Free
|
|
Software Foundation, either version 3 of the License, or (at your option) any
|
|
later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
details.
|
|
|
|
See the LICENSE file for full details.
|
|
|
|
|
|
## Funcionalidades
|
|
|
|
A plataforma tem o mínimo necessário para os requisitos da ANSOL:
|
|
|
|
- [x] Gestão da equipa da direçcão
|
|
- [x] Actualizar membros da direccao (desactivar, criar novos, etc)
|
|
- [x] Registar sócio (informação base, assumindo que falta o pagamento)
|
|
- [x] Endereço de email
|
|
- [x] Nome ("display name"/"preferred name")
|
|
- [x] Número de BI/CC/Passaporte
|
|
- [x] Morada completa, incluindo código postal/localidade
|
|
- [x] estudante/reformade/desempregade/empregade
|
|
- [x] Adicionar à mailing list?
|
|
- [x] Preferência de contacto: postal ou electrónico (comunicações das AGs)
|
|
- [x] Integração com ifthenpay para pagamento de quotas anuais
|
|
- [x] Lista de sócios, com filtros e ordenação
|
|
- [x] em cada sócio:
|
|
- [x] editar informacao base (incluindo end date)
|
|
- [x] poder registar nova contribuição, estendendo o end-date 1 ano
|
|
- [x] excluir sócio (eliminação de dados pessoais, mantendo historico de contribuições)
|
|
- [x] corrigir dados de/apagar contribuição
|
|
- [x] mandar lembretes de renovação de quotas, cada um com o seu texto
|
|
- [x] gestão de estado de inscrição automático:
|
|
- [x] pendente (pré-aprovação/pagamento)
|
|
- [x] activa (quotas em dia)
|
|
- [x] expirada (quotas expiradas)
|
|
- [x] excluída (90 dias após expiração / manualmente excluído)
|
|
|
|
|
|
## Contribuir
|
|
|
|
Obrigado pelo interesse em contribuir para o projecto `saucy`.
|
|
|
|
### Como reportar ou corrigir problemas
|
|
|
|
Se tiveres conta no git.ansol.org, basta criar um `Issue` ou `Pull Request` em
|
|
`https://git.ansol.org/ansol/saucy`. Caso não tenhas conta, envia um email para
|
|
`direccao@ansol.org` ou fala connosco na [sala de matrix comunitária da
|
|
ANSOL](https://matrix.to/#/#geral:ansol.org)
|
|
|
|
|
|
### Traduções
|
|
|
|
As traduções existentes encontram-se em `config/locales/{pt,en}.yml`. Caso haja
|
|
alguma mensagem que não seja traduzível, fala connosco para corrigirmos o
|
|
problema (ver ponto anterior).
|
|
|
|
|
|
### Introduzir funcionalidades novas
|
|
|
|
Novas funcionalidades muito distantes dos casos de uso da ANSOL podem ser
|
|
recusadas, por isso recomendamos que fales connosco antes de começar uma
|
|
funcionalidade grande.
|
|
|
|
Funcionalidades que gostaríamos de implementar mas ainda não tivemos tempo:
|
|
|
|
- Parameterização do `saucy` de modo a não haver referências à ANSOL no código;
|
|
- "Multitenancy", onde uma única instalação do `saucy` permite servir várias
|
|
instituições;
|
|
- Melhorias genéricas ao estilo da plataforma.
|
|
|
|
|
|
## Requisitos técnicos
|
|
|
|
Para o projecto funcionar a 100%, precisa de algumas dependências externas:
|
|
|
|
- Uma base de dados postgresql, onde são armazenados todos os dados;
|
|
- Configuração de SMTP, para enviar lembretes de pagamentos de quotas e
|
|
mensagens de recuperação de senha para a administração;
|
|
- Configuração [ifthenpay](https://www.ifthenpay.com), para suportar pagamentos
|
|
multibanco/mbway.
|
|
|
|
Todas estas coisas são configuráveis via variáveis de ambiente. A lista de
|
|
variáveis está disponível no ficheiro `env.example`.
|
|
|
|
**NOTA**: o projecto ainda não está pronto para ser personalizado à imagem de
|
|
outras associações, estando o contexto da ANSOL codificado em vários pontos da
|
|
aplicação. Alguns destes detalhes podem ser definidos em `app/lib/config.rb`.
|
|
|
|
|
|
## Pôr isto a dar
|
|
|
|
Para simplificar a instalação, disponibilizamos uma imagem `docker`:
|
|
|
|
```
|
|
docker pull git.ansol.org/ansol/saucy:latest
|
|
```
|
|
|
|
A imagem está configurada para lançar o servidor web no porto 3000. É
|
|
recomendado configurar um reverse-proxy, como o nginx ou o apache, à frente
|
|
deste serviço que trate de fazer o TLS.
|
|
|
|
Quando se acede à plataforma pela primeira vez, é-nos pedido um endereço de
|
|
email para criar a primeira conta de administração. Este endereço precisa de
|
|
conseguir receber mensagens para o processo de recuperação de senha funcionar.
|
|
|
|
Depois deste processo terminado, é possível gerir até 6 contas de
|
|
administração. Atenção que qualquer uma delas consegue apagar as restantes (e
|
|
até a si própria).
|