Jump to content

TV Shows database


ranyefet
 Share

Recommended Posts

Hello All,

First I like to say to I read the API and I think you did great job with PW!

I like to build a website and I'm not sure if PW is the right solution.

My site that I'm planing is something similar to: http://www.tv.com

My site will have the following content types

Generes:

- Action

- Drama

- Comedy

Series:

- Lost

- Prison Break

- Friends

People (Producers, Actors, Directors):

- Wentworth Miller

- Ryan

- Michael

Characters:

- Michael Scofield

Seasons:

- Season 1

- Season 2

Episodes:

- Episode 1

- Episode 2

Series is the main content type which will have few genres, seasons, episodes and people.

A series will eventually look like:

- Prison Break

- - Seasons

- - - Season 1

- - - - Episode 1

- - Actors

- - - Wentworth Miller

- - Characters

- - - Michael Scofield

All the site data will be user generated and the site will act as a Wiki system.

Every user will be able to login and edit any data on the site. any changes to data will be needed to be approved by the moderators.

The system will need content revision built in for each content type in order to revert changes.

Also Users will be able to create their own lists for tv series: plan to watch, watched series.

Of course the system will include user profiles, notifications, messaging etc..

I'm plan on using PW only to create the structure of the site and uses PW API for creating the front end.

I'm only going to use the admin panel once and i'll create my own admin panel for my users & moderators.

Also going to use the API in order to build REST API for my site.

Basically I looking for an API that will handle my database and will allow me to create lots of complex content type and relations between them.

I really like to create my site in a modular way so that If I want to use the same site to build a Movies database I'll only need to change the some fields.

Do you think that PW is the right solution for this task? or I should built something from scratch?

Link to comment
Share on other sites

Welome to the forums Ranyefet. Good questions, and sounds like a challenging and fun site to build. I think that PW is a great solution for most of your requirements, but there are a few that would give me pause, which I'll quote below:

All the site data will be user generated and the site will act as a Wiki system.

Every user will be able to login and edit any data on the site. any changes to data will be needed to be approved by the moderators.

Since it sounds, looks and smells like a Wiki, why not use a Wiki? :) Actually I think I understand why not... your data requirements are more structured than my understanding of most Wikis. But I don't know the Wiki landscape very well.

In PW, you can certainly do this, but you'll be doing a lot of the coding for the 'Wiki' behavior yourself. That being said, I'd love to see someone do this, but I don't want to underplay the scope of work that would involve relative to just using a Wiki.

The system will need content revision built in for each content type in order to revert changes

PW does not have this at present so you would have to keep your revisions stored separately from PW's live page data. This isn't particularly complex as an entire PW page can be represented as an array or JSON string quite easily. But again it does mean more code on your part.

Also Users will be able to create their own lists for tv series: plan to watch, watched series.

Of course the system will include user profiles, notifications, messaging etc..

You could certainly do this in PW, but your requirements are pointing more towards a full-blown MVC framework or something built from the ground up. Personally, I would build it in PW because I wrote it and can generally make it do whatever I want more easily than other frameworks. But while PW is a framework, it's documented and promoted more as a CMS than a framework, and that's how most are using it. So if I were in your shoes, I would take a strong look at non-CMS frameworks like the Zend framework, CakePHP or maybe CodeIgniter, and consider them alongside ProcessWire in determining what will provide the best fit.

Link to comment
Share on other sites

Actually I was planing on using CodeIgniter but I want to build this site once and maybe use it for more similar sites (movies db, games db)

That's why I was looking for something that will handle the different content types and will allow me to add/edit/remove fields as I like.

I also want to have an nice API like PW does. When you combine all that, It's pretty big project for one developer. ;)

Basically I need the following:

1. API to handle the database: content types, content relations, custom fields, users, roles, permissions etc..

2. The same API will be used for the site itself and REST API

3. Content will have revisions

4. Smart caching system

I want to build the API so that it will be independent and can be used anywhere with any framework or just including it to simple PHP file and do something like: $app->find('show[id=1]');

Maybe you have few advises for me what is the best way to accomplish that?

(And you're welcome to move this topic to different forum)

Thanks,

Ran.

Link to comment
Share on other sites

Basically I need the following:

1. API to handle the database: content types, content relations, custom fields, users, roles, permissions etc..

2. The same API will be used for the site itself and REST API

3. Content will have revisions

4. Smart caching system

I want to build the API so that it will be independent and can be used anywhere with any framework or just including it to simple PHP file and do something like: $app->find('show[id=1]');

Maybe you have few advises for me what is the best way to accomplish that?

I think the question here may be too broad. :) But if we take the 4 items above, and your desire for the simple API, the only one ProcessWire doesn't have at present is a revision system. So if those are the core requirements, then no doubt ProcessWire may be a good framework to build from. I think you have to look at all the features you want and then consider how long each would take you to build in the various different frameworks (like CodeIgniter, as you mentioned). You may (or may not) find that ProcessWire has more of what you need than other frameworks. You'll also want to look at the licenses of each to make sure that they are compatible with your intended usage if you want to re-license the work to anyone else. I'm not an expert on any frameworks other than ProcessWire, so can't speak intelligently on any other frameworks. My opinion is that most of what you want to do sounds fairly straightforward from a technical standpoint, but the 'Wiki' behavior and access and revision system is where most of the development time would likely be spent if building in ProcessWire.

Link to comment
Share on other sites

Maybe i'm easily fazed but it seems you are trying to do a lot. Is this a hobby project or do you intend to make a serious and dedicated effort? How many users do you hope to attract and what is the added value and/or functionality you offer when you compare to tv.com, imdb.com, rottentomatoes and the like? Not trying to talk you out of it, just curious.

If i think of these types of sites, most of the times there's also: (user)comments, reviews, voting/ratings, forum or message board, different types of news items etc. So your core system should be flexible enough to add features without too much of a hassle.

Probably a straightforward 1-step approval system won't suffice in the long run so you would need to have/built some more work-flow capabilities.

I think your best option is to choose a framework that best suits your needs. This allows you to build from a solid base but you still can control every aspect of your application/site, from routing to the way you design your database(queries), views, caching mechanisms etc.

Some well- and lesser known examples:

Zend Framework, Symfony, Cake, Kohana, Yii, Lithium......

Link to comment
Share on other sites

TV.com was an example. This goes as well for movies site, songs database, books database and more...

I want that the core system will have all the common features of this sites like: users generated content, profiles, users lists, permissions.. and the only things that will be different is the content types/fields.

What is the different between imdb/tv.com? I'm thinking about running a local site for users in my country for local series.

Thanks for all of your comments. I decided to build it my self so i could control every aspect of the application but it's a lot of work.

I'm still not sure which framework to use. I'm familiar with CodeIgniter, but I really liked FuelPHP

Do you guys have any suggestion on how to structure the database for the different content types & revisions?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...