I recently launched Laravel Events and it was one of those projects that came to life because I wanted to better keep the community informed on what all local events were happening.
As I sat down and started planning the project I wanted to start with the goal of doing the absolute minimum to make it work. This is just a small side project, no money involved, just a directory, so it doesn’t have to be complicated.
At the core that would be a form to submit the event information, a way for me to edit/approve/delete it. That way it would account for spam, invalid listings, etc.
To do this I had to make a tradeoff, and that was once you submitted a listing you can’t edit it. In fact, I don’t know even know who submits. I’m storing zero data on you, and only the public event information.
I’m sure you are thinking, “but what about when they need to change something related to an event?”, and that has come up but since launch, it has only happened twice. It also only took me about 20 seconds to make the change for them so, in my opinion, it’s been a good tradeoff. Once it starts being a greater burden then I will rethink that part and editing.
When I see developers starting new side projects they almost always overcomplicate it. Keep things simple, until they are a problem, and then revisit. It saves a lot of time and headache in the beginning.