Files
akkounts/README.md

88 lines
2.4 KiB
Markdown
Raw Normal View History

2020-11-18 15:28:17 +01:00
# Akkounts
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
This app allows Kosmos/LDAP users to manage their accounts, including
credentials, invites, donations, etc..
2020-11-07 14:49:32 +01:00
## Features
* [x] Log in with existing LDAP account
* [x] Reset account password by providing both username and email address
* [x] Reset account password when logged in, via reset email
* [x] Log in with admin permissions
* [x] View LDAP users as admin
* [x] Sign up for a new account via invitation
2020-12-21 15:49:58 +01:00
* [x] List my donations
2021-11-22 17:05:46 -06:00
* [x] Invite new users from your account
2021-11-24 11:11:36 -06:00
* [x] Create new Lightning (lndhub) wallet for new users
2021-11-22 17:05:46 -06:00
* [x] See Lightning wallet balance and setup code for Blue Wallet
* [ ] Sign up for a new account by donating upfront
* [ ] Sign up for a new account via proving contributions (via cryptographic signature)
* [ ] ...
_Planned features are not at all a complete or static list, of course.
Suggestions and pull requests welcome!_
2020-11-18 15:28:17 +01:00
## Development
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
### Rails app
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
Installing dependencies:
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
bundle install
yarn install
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
Setting up local database (SQLite):
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
bundle exec rails db:create
bundle exec rails db:migrate
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
Running the dev server:
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
bundle exec rails server
2020-11-07 14:49:32 +01:00
2021-02-02 21:15:52 +01:00
Running the background workers (requires Redis):
bundle exec sidekiq -C config/sidekiq.yml
2020-11-18 15:28:17 +01:00
Running all specs:
2020-11-07 14:49:32 +01:00
2020-11-18 15:28:17 +01:00
bundle exec rspec
### LDAP server
TODO make it easy to run a local Kosmos LDAP server for development, without
manual LDIF imports etc. (or provide a staging instance)
2020-11-09 09:55:08 +01:00
## Documentation
2020-11-18 15:28:17 +01:00
* [Ruby on Rails](https://guides.rubyonrails.org/)
* [Sass](https://sass-lang.com/documentation)
2021-11-24 11:03:42 -06:00
### Front-end
* [Tailwind CSS](https://tailwindcss.com/)
**Caveat:** if you only add Tailwind classes/directives to templates or
helpers, but there's no change in the stylesheet files, then the new directives
won't be compiled in production. In this case, count up the version comment at
the top of `app/javascript/stylesheets/application.scss` to trigger compilation.
2020-11-18 15:28:17 +01:00
### Testing
* [RSpec](https://rspec.info/documentation/)
* [Capybara](https://rubydoc.info/github/teamcapybara/capybara/master)
### LDAP / Auth
* [devise_ldap_authenticatable](https://github.com/cschiewek/devise_ldap_authenticatable)
2020-11-09 09:55:08 +01:00
* [net/ldap](https://www.rubydoc.info/gems/net-ldap/Net/LDAP)
2020-11-18 15:38:36 +01:00
2021-02-02 21:15:52 +01:00
### Asynchronous jobs/workers
* [Sidekiq](https://github.com/mperham/sidekiq/wiki/)
* [ActiveJob](https://github.com/mperham/sidekiq/wiki/Active-Job)
2020-11-18 15:38:36 +01:00
## License
[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)