aesmail
Kaffy - a quick and flexible admin interface for phoenix applications
Hello guys,
I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the current global pandemic, I kind of had the mindset and time to work on a few things on that list.
The package is in its very early stages, but I started using it for my own projects.
The following is part of the README file.
Kaffy
Extremely simple yet powerful admin interface for phoenix applications
Why another admin interface
Kaffy was created out of a need to have a minimum, flexible, and customizable admin interface
without the need to touch the current codebase. It should work out of the box just by adding some
configs in your config.exs file (with the exception of adding a one liner to your router.ex file).
A few points that encouraged the creation of Kaffy:
- Taking contexts into account.
- Supporting contexts makes the admin interface better organized.
- Can handle as many schemas as necessary.
- Whether we have 1 schema or 1000 schemas, the admin interface should adapt well.
- Have a visually pleasant user interface.
- This might be subjective.
- No generators or generated templates.
- I believe the less files there are the better. This also means it’s easier to upgrade for users when releasing new versions. This might mean some flexibility and customizations will be lost, but it’s a trade-off.
- Existing schemas/contexts shouldn’t have to be modified.
- I shouldn’t have to change my code in order to adapt to the package, the package should adapt to my code.
- Should be easy to use whether with a new project or with existing projects with a lot of schemas.
- Adding kaffy should be as easy for existing projects as it is for new ones.
- Highly flexible and customizable.
- Provide as many configurable options as possible.
- As few dependencies as possible.
- Currently kaffy only depends on phoenix and ecto.
- Simple authorization.
- I need to limit access for some admins to some schemas.
- Minimum assumptions.
- Need to modify a schema’s primary key? Need to hide a certain field? No problem.
All critique, criticism, PRs, and feedback are welcome.
Most Liked
aesmail
v0.2.0 was just released
Changes
- Kaffy now supports phoenix 1.4 and higher.
- The
:otp_appconfig is now required (breaking change). - Removed some deprecation warnings when compiling kaffy (apparently introduced some new warnings).
- Massively simplified configurations. The only required configs now are
otp_app,ecto_repo, androuter. - Added a
CHANGELOGfile to communicate and track changes easily. - Kaffy will now auto-detect your schemas and admin modules if they’re not set explicitly. See the README file for more. This should get me closer to my original post’s points:
Can handle as many schemas as necessary
and
Should be easy to use whether with a new project or with existing projects with a lot of schemas
Thank you for your interest. I’m getting extremely motivated to work on this project with the current response/feedback.
aesmail
Hello everyone,
I’d like to thank everyone who’s used, provided feedback, submitted features and PRs, or just showed interest in Kaffy.
Open source software needs a community to grow. I think Kaffy has enough interest and potential.
<rant>
I have been extremely busy during this pandemic working full time on other software projects. I’m trying my best to avoid (or maybe deal with) the “burnout”.
</rant>
If you are interested in becoming a maintainer for Kaffy, please message me either here or privately with your GitHub account. A few members have already showed interest which I’m grateful for (and I’ll be in touch with you guys again). If you think you can actively (or semi-actively) maintain Kaffy, drop me a line.
Having said that, I have no intention of abandoning the project. Once I’m out of this busy phase, working on Kaffy again would be a pleasure. For the time being, the project needs to show that it’s not dead and it’s still being actively used.
Thank you all for your understanding and support.
aesmail
Kaffy v0.8.0 has been released with a better UI, custom pages, and more.
New Features
- ability to add custom links to the side menu.
- ability to add add custom pages.
- ability to order records per column in the index page.
Enhancements
- a placeholder value for
:maptextarea fields to indicate that JSON content is expected. - enhanced “humanization” of field names in index page.
- improved checkbox form control UI (thanks @areski).
- new and improved design (thanks @areski).
- include checkboxes in index page to clearly indicate records are selectable.
- pagination, filtration, and searching are now bookmarkable with querystring parameters.
countquery result is now cached if the table has more than 100,000 records (thanks @areski).- add option to hide the dashboard menu item.
- add option to change the root url to be something other than the dashboard.
- removed render warnings when running under phoenix 1.5.
- add a much improved date/time picker (thanks @areski).
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










