Dear Drupalians (Drupies? Master of Drupalogies? Druids? Are you the droids I’m looking for?)

But seriously, I need your advice because I’ve only used Joomla for making websites.
I’ve read into HTML5 and CSS3 and this is the result: The JSFiddle
Now I need functionality and after asking around I was guided to the Drupal homepage.

I want to create a homepage for collaborative storytelling. Users should be able to write posts to ongoing stories or create new ones. There should also be the option to write multiple follow-ups to existing posts (multiple story-paths like in the Fighting Fantasy novels).
The core needs of the website are pretty basic. I wrote down a quick overview of (what I think) are the needed classes: The Class-Diagram
“Story” consists of “Post” and can have different rulesets according to “Challenge” and “Game-Mode”. A “Challenge” could for example be that the authors have to write a dog into the story (a fact which an admin or mod would have to check). A “Game-Mode” could be that the time for writing follow-up posts is limited. “Genre” is just for classification purposes (Adventure, Horror etc.). Users should be able to send each other "Messages" and "Comment" Posts. Users should be able to get "Achievements" and "Ranks". There should also be a "News" section. An option for a forum would be nice.
Here are some additional Mockups (just general ideas and not set into stone):
Homepage
Ongoing stories
Sleeping stories
News
About / FAQ
Excerpt of a story

Could you tell me if Drupal would be fitting to deliver the desired logic?

Comments

bander2’s picture

Yeah, I wonder if the forum was extra aggressive in removing stuff from your post because it thought all the links were spammy. Especially because you are new.

I just confirmed you. Can you try to post them again? Maybe in the comments. I think I can help, but the links would give me more context.

- Brendan

Ashielf_Pi’s picture

Thank you! Here are the links.

The JSFiddle

The Class-Diagram

And the additional Mockups for better understanding:
Homepage
Ongoing stories
Sleeping stories
News
About / FAQ
Excerpt of a story

I will also try to update the post so the info isn't fragmented.

Ashielf_Pi’s picture

Just to be sure: I don't expect a complete list of needed modules (although that would be nice).
I only need to know if Drupal is the right tool for this or if another approach would be more fitting for this undertaking.
Thanks in advance.

bander2’s picture

The things that makes Drupal a good match for this is that it is great for modeling data and managing the interaction of data and it has a lot of modules that are going to provide much of the functionality. The things that makes Drupal not a good match is that you are new to it, this is an ambitious project, and Drupal has a notoriously steep learning curve.

It looks like you have some experience modeling data and that is good. It will help you with your Drupal project. With Drupal you construct "Models" by adding fields to Entities. Drupal comes with several kinds of entities: Users, Content and Taxonomy are what is relevant to this project.

Looking at your diagram, it looks like Genre and Game Mode are good candidates for Taxonomy.

Story, Post and News are Content. You create a new Content Type (aka Node Type) for each.

The relationships between the Content types are created with an Entity Reference.

Comments are a core part of Drupal. So that is taken care of.

But don't get too attached to your original model. You won't build your whole site with these entities. Much of it will come from modules.

For instance the email feature will probably be handled by the Message Provate module or the Privatemsg module.

Achievements may be handled by the Achievements module. I have never used it, but it may also handle the Challenge functionality.

Rank, may be handled by the User Points module. I do have familiarity with it. It awards points to users for any number of things. Maybe the Rank itself is a taxonomy term which the User Points module awards for reaching a certain number of points. It looks like there are permissions associated with them, so maybe they are Roles instead.

Lastly, I see some functionality around favoriting Posts. You'll probably do that with the Flag module.

Like I said, this is a big and ambitious project. But I think Drupal is probably the best tool for it. Make sure you take the time to familiarize yourself with the Drupal basics. There are online courses and getting a book is a good idea.

P.S. because this trips up a lot of newcomers, you want to use Drupal 7 not 8. 8 does not have the modules you need yet.

- Brendan

Ashielf_Pi’s picture

Wow, I couldn't have hoped for a better answer. If the steep learning curve is the "only" hurdle, I will try my best to overcome it.
Yes, during my studies we've looked at object-oriented programming (JavaEE to be more precise) so I'm not completely lost.

Thank you very much for the overview of potential entities and modules! And you are right about the courses and books, I had the same experience while learning HTML5 and CSS3; the sources are endless. Nevertheless, I would love to have someone a little bit more senior on the project. I will start to look around since I'm not afraid to invest some money into it.

And if it didn't come across already, THANK YOU!

Ashielf_Pi’s picture

Just for anyone finding this post. The project was a success!

https://www.drupal.org/case-study/story-bat#comment-12604370