TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   TalkPHP Developer Team (http://www.talkphp.com/talkphp-developer-team/)
-   -   This project has begun! (http://www.talkphp.com/talkphp-developer-team/3808-project-has-begun.html)

Village Idiot 12-27-2008 04:06 PM

This project has begun!
 
Description and Purpose
Phlox is an image gallery for designers to register and show off their designs, much like an art gallery. People can browse, rate and comment on pictures. Each member can make galleries and add pictures to their gallery. Features will include:
  • Free registration
    • Image verification
    • Email validation
  • Gallery/Image Management
    • Add/Delete Photos
    • Add/Delete Tags on Photo
    • Modify description
    • Delete Comments on a Photo
    • Disable Comments and Ratings
    • Watermark Images
  • Customizable Public Access
    • Allow or deny the public from commenting, rating, or even browsing galleries.
  • Full Admin Access
    • Administrators can browse images as the owner would see them and edit anything as the owner could.
  • Admin Control Panel
    • Add/Delete/Ban user
    • Set limits
      • Max file size
      • Max resolution
      • Max images per gallery
      • Max galleries per user
    • Search by
      • Tags
      • Description
  • Templating system (smarty)

External Resources

Source control: SVN. I recommend tortoiseSVN
PHP Framework: None.
JS Framework: We use JS frameworks as we need them.
Other: We will figure any other requirements out as we need them.


Coding Standards
Basic Style: Allman style.
Other: Avoid shorthand if's, no single line if or loops.


What we need to get started
PM me if you want to code, include your experience and what you are good at. Here are the tasks that we should get done first, I will accept peoples existing code:
  • Database design (the first thing that should happen)
  • SQL Class
  • User class
  • Image class (Upload, verify ownership of image, watemark)
Communication
Via this board and a chat room I will set up.

sketchMedia 12-27-2008 07:20 PM

SVN Repo set up at http://code.google.com/p/talkphp/ you need to create a google account, then I can add people so that they can have commit permissions.

Village Idiot 12-27-2008 07:35 PM

Could you please join me on, my account is village.idiot@sbcglobal.net , please make me admin.

sketchMedia 12-27-2008 07:49 PM

There you go m8, I've added you as a project owner.

Village Idiot 12-27-2008 09:07 PM

Here is a quick mockup of what the database could look like (there is no perticular reason that one is highlighted)
http://www.imagewasp.com/uploads/8052.png

Aaron 12-27-2008 10:50 PM

My thread got jacked!


(edited out the rest...)

sketchMedia 12-28-2008 12:00 AM

admin or member?

That DB design seems good.

Rendair 12-28-2008 12:04 AM

djm53@kent.ac.uk - is currently my main one so feel free to add me also :P

sketchMedia 12-28-2008 12:18 AM

It says that user doesn't exist, you will need to register it with google:
http://www.google.com/accounts/NewAccount

Tanax 12-28-2008 12:23 AM

A few features that could be added to the list!
How about subscriptions?

Friendslist which would be catagolized like:
The member can create "groups" where they can put different friends in, for example some might want a "Family" or "Business" or "Design", etc.
Also allow them to "subscribe" to their friends' which would basicly make a subscriptions for new images added by that friend. Meaning that you can have someone on your friendslist without having to be subscribed to him/her.

How does that sound?

Crazymik3 12-28-2008 12:50 AM

I'd love to help it in some way, but my PHP skills are greatly lacking.
Hope to see something awesome come out of this!

Rendair 12-28-2008 12:57 AM

dalejamesmooney@gmail.com

Use this email then :P

sketchMedia 12-28-2008 12:58 AM

consider yourself added sir!

Village Idiot 12-28-2008 02:51 AM

Quote:

Originally Posted by Tanax (Post 20778)
A few features that could be added to the list!
How about subscriptions?

Friendslist which would be catagolized like:
The member can create "groups" where they can put different friends in, for example some might want a "Family" or "Business" or "Design", etc.
Also allow them to "subscribe" to their friends' which would basicly make a subscriptions for new images added by that friend. Meaning that you can have someone on your friendslist without having to be subscribed to him/her.

How does that sound?

I don't understand the first part. But I like subscribing to a user.

I am getting a more accurate database design up.

sketchMedia 12-28-2008 03:00 AM

Do we have a project directory structure in mind?

Looking forward to the improved DB design 8-).

Village Idiot 12-28-2008 03:07 AM

Not at the moment, no. But if you have one I would love to see it.

Village Idiot 12-28-2008 03:22 AM

Items:


Users:


Gallery:

Village Idiot 12-28-2008 03:22 AM

Items:




Users:




Gallery:


Options/Templates:


Configs I can name off the top of my head (will be a place to add more):
ActiveTemplate
ImageDir
ResLimitX
ResLimitY
SizeLimit
AllowUnregInIndex
AllowUnregInSearch
AllowUnregInGallery
AllowUnregInItem
AllowUnregToComment
AllowUnregToRate

sketchMedia 12-28-2008 03:26 AM

Well i usually use a structure loosly based round the zend framework structure:

Code:

application/
    config/
    controllers/
    models/
    views/
        Partials/
        Actions/
            index/
            etc....
        Layouts/
    lib/
        DB/
        Registry/
        etc....
    bootstrap.php
public/
    css/
    js/
    images/
    index.php
    .htaccess

How well it will translate to this project I dunno, think it may be alittle too complex for a relatively simple project.

Village Idiot 12-28-2008 03:44 AM

That is probably going to be too complex, we are not using most of the things provided in that structure. I was thinking something more like this:
Code:

Main Dir
/Core
/src
/templates
/implementation
/images (below webroot? We have to process them one way or another)

-Core is our class functions and deeper logic. Absolutely no implementation or design elements are to be here.
-Src is our script related images, javascript, ect.
-Templates is our templates, each one will have a sub directory.
-Implementation is where the stuff actually happens, where the commands are actually called and ran on the server. This is almost exclusively inline code.
-Main Dir is where our front pages are called which call the templates.
-Images is where we store the images for the users, we will mod_rewrite a file to load and process them. It might be ideal to put it below the webroot. This filename would be a config.

Lets say a user submits an image. He is taken to main/submit.php. This file loads its implementation file which actually submits the image. The implementation files deal with the classes to utilize them, they almost completely inline code. The main file after getting the response from its implementation file then displays the template and all the effects it needs to.

This gives good abscraction from the classes, implementation, and displaying. It is also fairly simple and straight forward.

I would like this confirmed with other programmers before I actually do it though.


All times are GMT. The time now is 03:52 AM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0