I’m new to Ghost too, but from what I can make out, it could be possible, assuming you’re comfortable doing some development to get the system going. You could use the post “title” and “content” as the event’s title and content, put an optional feature image, tag it, and so on. And the “date of publication” can be used as the event date; Ghost allows you to set dates in the past as well as schedule posts for the future.
A few thoughts and potential stumbling blocks:
- Are you going to have substantial writing about the events (ie. “post body”? If it’s just a title and date then Ghost’s admin interface would need tweaking since you’d just have a huge blank space with a menu on the side.
- Would the events have to be “live” (ie. visible on the public site) before their designated date comes up? Because that’ll be a problem for future events (Ghost can keep scheduled drafts for the future, but they’ll be published only when the actual date arrives).
- Ghost has a “tags” feature which would work for your event grouping. The first or “primary” tag is sometimes treated specially (eg. displaying it prominently in some templates), but apart from that, there’s no hierarchy or “nested tags” option. If you need that kind of thing, Ghost may not be the best option.
- Regarding frontend, grouping by tags is trivial (already implemented in fact!). As for grouping by date, I haven’t checked it out. It should be possible given Ghost’s target audience, but you might want to verify that with someone else.
- Ghost doesn’t allow custom fields at the moment, so you’ll have to make do with available ones. They do have options for “extra header code” and “extra footer code” to inject special code into the header/footer of the post, as well as a site-wide equivalent.
That said, Ghost’s API is pretty powerful. You could potentially use Ghost as a backend, and create a frontend with something like Gatsby as I’m doing (there’s a starter template and tutorial, and it’s what I’ve done for my website).
Similarly, I don’t think it would be very hard to create a simple “Create an Event” interface using Ghost’s Admin API, assuming the existing one is too cumbersome. (It’s clean and minimalist, but you do have to go to the sidebar to set the date, which would be annoying if it’s something you have to set on every post).
Then again, if you’re coding both the fronted and admin it might be a bit redundant to use Ghost at all—although you’ll still have the advantage of Ghost’s powerful pluggability.
If you want to give Ghost a spin yourself, check out something like this Ghost on Heroku project. You can deploy to Heroku for free (though you have to “verify” your account by providing credit-card details); that way you can experience first-hand what it’s going to be like.
Hope that helps—and feel free to request more clarification if you need it