Eleutheria Pay - Open source donation platform
-
@marcusquinn Normally I'd be inclined to agree, but because the only content is the form, I personally prefer centered. I am open to be swayed the other way if we get some more opinions.
As for Fast, I'll take a look. Definitely looks interesting
-
@marcusquinn said in Eleutheria Pay - Open source donation platform:
TBH I'd make everything, except the logo, left-aligned too. Makes it easier to embed in an iframe and suite most common form styles.
I don't agree with this - using responsive UI building tools, it would be better to center-align objects, but keep text left aligned where it makes sense.
@atrilahiji You should implement a plugin system so others of us can write integrations for other platforms as wanted.
Like I'd really like a PayPal and Bitcoin (Coinbase, BitPay, etc) integration.
-
@murgero In reply to the iframe / embed - there should be JS code that allows a simpler UI to be embedded into a website Something like <script src="someEmbed.js"></script> That will embed into the current page, a button at the bottom of the browser window that says something like "Support Me?" or whatever.
-
@murgero good idea! Iβll take a look at embed stuff. As for plugins, Iβm definitely looking to split the payment processors out into a sort of plugin system. Itβs going to require a lot of abstracting out the payment system specifics from the rest of the app. Itβs going to be interesting to try this as plug-ins will have front end and back end components. At least Stripe does (frontend-> backend-> frontend)
I also welcome contributions if anyone wants. Iβll figure out if external accounts on my GitLab have the correct permissions and write up a contribution guide
-
FeelsBadMan. We'll have to wait.
-
Made a couple of updates. One of them was an endpoint that serves an SVG donation badge that can be embedded in websites or git readme files. I added it to my repo here if you wanna see:
https://git.lahijiapps.dev/atrilahiji/eleutheriapay
Also trying to figure out how to tweak the cloudron package to properly merge .env files and the styles.css file. Right now while updates work on cloudron, I have to manually add config changes to the .env file.
-
@atrilahiji nice, left-align makes much more sense to me. I don't even know that I've every seen a centre-aligned form, constrained width to a max would make more sense, as the container would be centred, rather than the content. Good stuff.
-
@atrilahiji Cloudron wasn't made to update files that way, what you can do is use an updated start.sh to compare and then add new lines to .env.
-
@atrilahiji said in Eleutheria Pay - Open source donation platform:
Also trying to figure out how to tweak the cloudron package to properly merge .env files and the styles.css file. Right now while updates work on cloudron, I have to manually
Can I also make another suggestion? Can you add the option to detect dark mode enabled browsers (chrome, firefox, edge, etc all support this feature) so the site's dark mode toggle follows the users OS-determined settings?
https://stackoverflow.com/questions/50840168/how-to-detect-if-the-os-is-in-dark-mode-in-browsers
Once this project is more stable, I plan to use it as well for accepting donations.
-
@murgero already done. What it should be doing (Iβll verify again) is use your locastorage first. If itβs your first time visiting it will detect your system settings.
This means that if you manually toggle to light mode and come back, it will still be light and ignore your system preferences
-
@marcusquinn I will have to respectfully disagree with that one. That being said, the CSS is fully user customizable
-
@atrilahiji No worries, just my POV, noting the above Fast screenshot and similar with Stripe, Paypal and every other checkout form I've ever seen.
-
@marcusquinn Something like this?
@murgero @jdaviescoates opinions?
-
@atrilahiji That looks really good.
-
Thanks for the feedback guys. I pushed and deployed a new demo and I think I have the hand of hang of bootstrap breakpoints.
-
@atrilahiji Ya cert is borked
-
@murgero Oh the new demo link is https://eleutheriapaydemo.atrilahiji.dev/
I cant update the OP anymore (dunno why) but its updated on the repo.
-
@atrilahiji said in Eleutheria Pay - Open source donation platform:
I cant update the OP anymore (dunno why) but its updated on the repo.
I think when @Staff updated this NodeBB a load of default settings got changed, including making it so we can now no longer edit old posts. I'd like that change to be changed back.
-
@atrilahiji Thats nice
-
For the radio-button styles, It might look better to invert, so blue text on white. We always try to make high-contract for visually-impaired accessibility.
-
@marcusquinn Done (sort of).
-
@atrilahiji Very nice! Some other tweaks:
- Perhaps add the Name & Email fields to your form so they are pre-populated when getting to the Stripe page.
- Currencies in alphabetical order.
Are you thinking to have an admin page for configuring the values & defaults? If so:
- Different amounts based on currency selection.
- "Donate" button text configurable (eg: "Subscribe", "Sponsor")
- Social sharing icons & links.
Coming together really nicely though, I can see why you wanted to make an alternative to Fosspay.
Maybe consider changing:
- "Elutheria Pay is a self-hosted FOSS payment system for FOSS developers" to
- "Elutheria Pay is a self-hosted, open-source and private payment system for projects, services and fundraising."
-
+1 to everything @marcusquinn said
-
@marcusquinn Iβll look into these. So I was trying to make configuration as simple as possible while trying to not need a DB at all. So the things you want configured can be configured in the .end file. Same with the description, but I do agree that is better as a default.
I guess Iβm wondering if you guys think it would benefit from using an admin page + db for config instead of a .env file for config
-
@atrilahiji Same reason for every admin setting UI, broader reach.
-
@marcusquinn fair enough. I certainly could try to add support for this
Put it on my board as the next item I will be working on. Using Mongo because I love collection/document style DBs.
-
Boy oh boy is this a long process. I mean my previous approach was definitely quicker but this will hopefully be more robust. Building out my own login system. I've never implemented auth myself so this will be fun.
I'll definitely need some help testing it once I get the next release out.
-
Update again:
I have login working. I might ask others who are more experienced with writing auth to audit it if thatβs ok. I also have a site up now but was too cheap to get my own domain for it so here it is: https://eleutheriapay.atrilahiji.dev/
Please let me know via dm or a reply to this post if you want to try out the new version when itβs ready and maybe even audit the code. I would be really grateful.
-
@atrilahiji Nicely done!
You made me search for "free domains" and these look interesting:
-
Another update:
I have pushed a seemingly working login system to my dev branch here if anyone is feeling adventurous enough to pull it and test it out:
https://git.lahijiapps.dev/atrilahiji/eleutheriapay/-/tree/devI am working on a few features to play off of this here:
But as of now login and config updates now work and it makes use of MongoDB.
I'm really having fun with this one. If anyone has some more ideas (keep in mind im just going to have to queue them because this does take time) definitely let me know. And if anyone wants to contribute also let me know and I can set you up.
-
@atrilahiji just out of interest, what board are you using there?
-
@jdaviescoates Looks like GitLab Issues Boards to me.
-
@marcusquinn you are correct
-
@jdaviescoates I live in GitLab issues for work
-
Reviving this as I have come back to the project after losing motivation for a bit. I really did just want to keep this as a simple donation page that can be easily customized for those who don't want to build out their own. With that in mind, I removed monthly and annual payments from my current version. I still have a branch working on auth and a more complex system but I'll be thinking about how to best move forward with that in the future.
@staff I have a few changes I would like to make still before I have an initial version but I think it would be cool to have this app on the store if you think it makes sense. Of course, it is up to you guys
EDIT: To further explain, I got carried away in suggestions and making them all happen and forgot why I made it in the first place. Not that I don't appreciate feedback of course
-
@atrilahiji said in Eleutheria Pay - Open source donation platform:
With that in mind, I removed monthly and annual payments from my current version.
IMHO monthly payments (at least) are often a key feature people look for when creating a "simple donation page"
-
@jdaviescoates Normally I'd agree, but my goal here is to keep it lightweight. No DB, no user tracking, nothing. That is something that impossible to do while having recurring payments as you need to provide a way for users to cancel. The idea is tips and not patreon, basically. A branded layer over-top of stripe that also serves its own donation button you can embed anywhere.
I've kind of resolved to doing the work I need to make it fit my needs (as that was my original intent) and allowing contributions and forks from others if there is a need for that. Basically I don't want to put energy into building something I don't ever want to use.
-
@atrilahiji fair enough
scratch that itch
-
@atrilahiji it's not different to any other project in my mind. If it's something you will continue to work on and is useful to others, I don't see any problem having an app for it in the store.
-
@girish I have my 1.0.0-RC2 packaged and updated on the cloudron git with super basic tests. I'm going through testing things on my repo for EP and I'll hopefully have a full 1.0.0 release soon.
-
This post is deleted! -
Pushed 1.0.0 finally. I think everything is good to go for a major release. Updated the package too.
-
@atrilahiji w00t , congrats! BTW, did you have a landing page/home page for this? The one you linked earlier is not working anymore. Also, your git seems to have some cert errors it seems.
-
@girish Ah lol so I moved some things over to another domain (using lahijiapps.dev for my new business) and switched to Gitea. The link is https://git.atrilahiji.dev/atrilahiji/EleutheriaPay
I had a landing page but wasn't happy with it so I was going to make a new one. Right now in the package im using the repo URL as the homepage.
-
Great stuff!
Talking of the name, when I read it, I read "Uretha"
Depending on if you want to find a matching domains, naming is very personal, but here's some that sound OK to me:
- Atpay
- Button Pay
- Elpay
- Pay Button
- Paystar
I do like coming up with names - but, like I say, I'm sure very personal. I hereby give away all copyright and claims to any of those if you do like though, so feel free to screenshot and hold me to that
-
@marcusquinn Cool, thanks for the suggestions! Yeah the name is the part I am most unsure about rn. And the logo is basic but honestly I care less about the logo and more about the name and usability.
Working at a v2 I want to clean some more things up, write a golang backend, and build it with my CI to make it extremely easy to deploy. JS is cool and all but something about having 3 package.json files floating around in a single project makes me want to puke in my mouth a bit.
-
@atrilahiji Haha, Puke Pay?
-
@marcusquinn An accurate name until I get node out of there. Ideally I want a pre-built frontend + backend executable. Keeping it simple. Right now I have scripts building the frontend and backend node bundles...
Don't get me wrong, Node has its place. But this just seems like too much lol
-
@atrilahiji I really like the Go approach of single binary! There is also this module called rice which compiles assets in a go code which you can compile into your app. Very nice because the resulting single binary is very end user friendly.
-
@girish oh wow Iβll check that out! For now itβs definitely node based but I can also just update the package then. Not like the backend is super complex anyways.
Idk you think itβs worth waiting?
-
@atrilahiji As long as the config file is compatible between releases, I think it's fine. After all, end user doesn't care what language it's written in.
-
-
Man golang is fun. Had some frustrations with module management. Maybe I should look at plain ol C or Rust for good ol downloading and relative linking of dependencies but otherwise golang is fun. That being said I found what you were talking about @girish and Iβve it all in one binary. Only thing now is I need to expose the CSS config in the .env file. Makes it easier so releases are just a .env and an executable. Simple and elegant.
-
@atrilahiji yeah, I always use GVM to manage diff go versions and modules.
-
@robi Oh wow thanks!
That helps quite a bit! I find the whole central location for modules frustrating. I guess I'm used to just dropping a library or some code I wrote into the same directory as my main app and linking to it via its relative path.
I don't want to change langs again but now part of me is curious about just writing a C server lol. A fun challenge but not for this particular project
-
-
@atrilahiji Finished EL for now (as in I believe it is ready for use). And the package merges the configs. Its a single .env and binary now
Thanks for that suggestion @girish !
-
@atrilahiji Oh wow, you ended up rewriting it in Go? That was pretty quick, I must say. Where is the Cloudron package btw? Or is that not done yet?
-
@girish one quick update before I think itβs ready (had to re-enable asset customization)
Yeah thankfully the backend for EleutheriaPay is very simple so rewriting it in go was pretty quick. I did have to pull out an assets folder from the executable so it can be customized. But it still means the frontend build is already done when it is downloaded.
Iβll link it here in a moment
-
@atrilahiji if it can be a separate repo like other app packages, that will be great! You can put it in git.cloudron.io