[![Build Status](https://drone.kosmos.org/api/badges/kosmos/akkounts/status.svg)](https://drone.kosmos.org/kosmos/akkounts) # Akkounts This app allows Kosmos/LDAP users to manage their accounts, including credentials, invites, donations, etc.. ## Development ### Rails app Installing dependencies: bundle install yarn install Setting up local database (SQLite): bundle exec rails db:create bundle exec rails db:migrate Running the dev server: bundle exec rails server Running the background workers (requires Redis): bundle exec sidekiq -C config/sidekiq.yml Running all specs: 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) ## Documentation * [Ruby on Rails](https://guides.rubyonrails.org/) * [Sass](https://sass-lang.com/documentation) ### 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. ### 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) * [net/ldap](https://www.rubydoc.info/gems/net-ldap/Net/LDAP) ### Asynchronous jobs/workers * [Sidekiq](https://github.com/mperham/sidekiq/wiki/) * [ActiveJob](https://github.com/mperham/sidekiq/wiki/Active-Job) ## License [GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/)