this post was submitted on 07 May 2026
9 points (100.0% liked)

Programming

26845 readers
255 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

cross-posted from: https://infosec.pub/post/46083169

Hello,

I’m here to ask for guidance on an ongoing project. A number of years ago I wrote an Articles of Association for a worker’s cooperative as I think it should run. The main difference between a conventional co-op and mine is that a conventional co-op tends to have no hierarchy while in mine there is a CEO who gets elected periodically based on their business plan. The theory is that this brings democratic ideals into the workplace without sacrificing the productivity gains that result from hierarchical teamwork. You can read more detailed information on my Beehaw Post.

To put it into practice I need to create an open-source enterprise application server with applications specifically designed for the management of these companies. I created a block diagram to show you what I envision (attached to the post), and this represents my ideal “wish list” for what it should include.

The controls listed at the bottom will determine the permissions everyone has on the network and will be used to design GUI screens. I was going to draw connectors to each of the services but it would have turned into spaghetti.

I’m pretty decent with local programming including database and GUI design, but I lack experience with network programming.

So far I think I need to use XMPP for the messaging client and SSH for the rest. Since I’m most comfortable in Python I was going to look into Paramiko.

So my question is, where should I go in my research? Is there a particular component in the diagram you think I should try to build first?

Thanks in advance for any help, Juniperus

top 12 comments
sorted by: hot top controversial new old
[–] moonpiedumplings@programming.dev 3 points 1 day ago* (last edited 1 day ago) (1 children)

You architecture seems to blend technical and management in an unclear way. It's strange to see "lemmy server" and "staff roles" in the same chart. Unless by staff roles you mean a software that manages staff roles? But "managers"?

[–] Juniperus@infosec.pub 1 points 1 day ago

Sorry I know that's a bit unclear. The "staff roles" and "managers" are roles that the CEO is able to assign to staff through the software. In other words, it's the mechanism the CEO uses to construct their hierarchy. Same with performance metrics, those are written expectations that would be entered into the system for each person's role.

[–] lornosaj@lemmy.world 4 points 1 day ago (1 children)

From architecture standpoint, bundling these sounds quite messy and complex. If you want open source and web site based - why not choose containers and spin up whatever fits your use-case?

[–] Juniperus@infosec.pub 2 points 1 day ago

Hmmm, doing some research on containers now, and it does seem like the right way to do this. I'm still learning about server architecture but I didn't mean to imply it had to be a monolith, the key is it having the capabilities I need.

I'm going to look into Docker and see what I can deploy on it. Seems like a good first step.

Thanks

[–] moonpiedumplings@programming.dev 2 points 1 day ago* (last edited 1 day ago) (1 children)

(4th comment)

when it comes to the website and e commerce, odoo is probably the most comprehensive solution.

But tbh, the technical architecture of this whole setup is beyond what a beginner ,ay be able to host. You should consider hiring a consultant or contacting an MSP.

Also see: https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#e-commerce

[–] Juniperus@infosec.pub 1 points 1 day ago

Thanks for all the great solutions, I'll be looking into your advice. Like you said it is definitely a massive project for a beginner, I'm going to take it a step at a time, and maybe do a smaller experimental app first to get my bearings. The good thing is I'm not in too much of a rush so I have time to learn.

[–] moonpiedumplings@programming.dev 2 points 1 day ago* (last edited 1 day ago) (1 children)

3rd comment: re: secure voting

The big thing behind secure voting, is not just is it secure, but also can you actually get people to use and trust it.

Sure you can have public key cryptography, signed messages based electronic voting, but "create a gpg key" is pretty difficult to get the average user to do.

And if you didn't know what any of those terms here, that only proves my point about people not knowing how these systems may cause them to not trust them.

Don't fall into the trap of inserting technology for technology's sake. You can do insecure email based voting (or chat app based), but the easiest thing for your sanity might just be paper ballots.

[–] Juniperus@infosec.pub 1 points 1 day ago

My current thinking is that the vote is electronic but you get a paper receipt with a bar code or something. Not sure how it will turn out, like many of these apps it's a whole project in itself

[–] moonpiedumplings@programming.dev 2 points 1 day ago (1 children)

(2nd comment)

You probably don't want a lemmy instance. Of course it depends on the company, but lemmy is designed to federate out. Unless you want it to federate out?

I would recommend discourse or similar instead, they are much easier to host.

[–] Juniperus@infosec.pub 1 points 1 day ago* (last edited 1 day ago)

I was thinking lemmy because of the voting structure. Since it's internal discussion it could be used by the management to gauge sentiment in the company. It wouldn't be for federation.

You're probably right about it being too complex though, just not sure if there's a lightweight option that's a closer match than ~~discord~~ discourse (does discourse having voting?). Something to consider.

[–] Damarus@feddit.org 3 points 1 day ago (1 children)

You sound a little confused here. An enterprise application server or EAS is a piece of software that can host applications, but doesn't bring any with it. EAS are complex programs that have to implement and support a multitude of specifications for the apps that are going to run on them. Many of them are already open source, and there should be very little need for new ones.

What you seem to want is some ecosystem of software that may or may not run on an EAS, which satisfies your list of high level requirements.

[–] Juniperus@infosec.pub 1 points 1 day ago* (last edited 1 day ago)

Yes definitely a beginner with anything networking or web design.

Modular is good though, ideally I would like to bring them all together as one package to share as open-source. I don't know how that would work with permissions for the applications, but I imagine it would be OK with most (foss) licenses.

There are also some things that might need customization. For example, the value of someone's vote is determined by the equity recorded in the accounting books, so those two applications will need to share information.

In any case you have given me some direction and I appreciate it, thanks.