Search code examples
drupaldrupal-7

Is Drupal appropriate for user-supplied data-centric applications?


I have been creating a custom web application using mainly PHP with some Javascript. I have been curious about rebuilding the site using Drupal. I have only produced a 'minimum viable product' and it is functional but not nearly as professional looking or feature rich as it needs to be with using some tailor made modules.

It may be easier just to look at my site, but I will describe it below as well. http://www.localtolocal.ca Visuals need improving but that is another discussion all together! I previously felt that it needs to be a custom application but since I want to incorporate things like articles, video content and forums I was thinking using Drupal may be very helpful. What I have so far is the part that I was thinking needs to be written by myself.

I have mostly seen Drupal used for sites that are blog based, content providers or eCommerce focused. My site's main focus is user-provided data. A user creates an account and will either browse and write reviews, favorite pages etc. OR post data about their business or endeavor. A small business would input their contact info, information about themselves and what they provide and that creates a page to display the information on, like this:

http://localtolocal.ca/display_page.php?page_id=23

They are also able to create custom vouchers, add photos and of course update information they have previously input. I will eventually also have paid subscriptions meaning tiered user structure.

Are there Drupal modules out there that can accomplish this? I assume it would need a considerable amount of customization. Can Drupal be used to create something as full featured as Yelp or a high profile social media site? Asking in terms of evolutionary potential. Would that learning curve not even be worth it compared to flushing out my custom application?


Solution

  • You can surely use Drupal to create a user generated content driven site as described. True, the learning curve is steep and it'll take some getting used to, but once you get the hang of it, it'll be worth the effort imho. With Drupal you can develop a user-testable prototype of your application within days which is a really big win.

    The site doesn't seem really complex, so main challenge will be defining the personas and testing that they have the correct permissions. In general I would suggest extending the user profile so they can submit information about their business, using the flag module to favorite pages and a separate content type for reviews (which you can publish direct and moderate later or the other way around).