First off, as some may notice, this is my first post to this community - and the reasoning for that is because I've worked "with" but never directly "in" PHP (meaning I've altered, but never developed).
So my project is, very likely, overly ambitious for my limited ability - but all the same I want to lay out the idea here in the hopes that someone can point me in the direction of some good tutorials for developing user-based, database-regulated environments... (just saying that makes me feel over my head)
I'm assuming everyone has seen a simple web directory where you're presented with a text listing of all included files? What I'm looking to do is provide a completely re-vamped version of this, in a way that would meet the needs of both home and business users... My notes read as follows:
Goal of the project: Provide an astetically pleasing, user permissions based GUI for File Directories supporting features such as comments, "download all", "other versions", "open", etc.
---Detailed overview---
To walk you through it... After setting up using an assisted interface in which you would enter your Database information and assign a password to the admin account, you would
log in and create user accounts with different global permission levels (more on that later).
A user would log in, and be taken to a screen where they would have access to all directories that they've been given access to, or alternatively the user could create a new directory.
Upon creating a new directory, the user is taken to a dialog where he or she is asked to name the directory (requiring a unique directory name), upload multiple files, upload a background image (if one is not uploaded, the default background image will be used), upload a directory icon image (if none is uploaded, default folder icon image will be used), and add users to the approved users list with varying permissions (such as "view", "download", "revise" (upload a new version of an existing document), "comment", "upload" (upload new documents), "delete" (remove comments and files), etc.).
The users can then access the directory and see all uploaded files in a icon-based grid layout, with a menu bar at the top that allows for mass download, logout, uploading, etc (based on user permissions, of course). By mousing over the icons, they'll be presented with the option to download the selected file, view and make comments on it, see all revisions, or (if permitted to do so) delete the file.
---Administration Panel---
The administrator(s) would have access to the following menus...
Global Settings:
-Registration (Open registration (where users can register their own accounts and automatically be defaulted a set level of permissions, configurable from the User Groups menu) or Invitation only (Where in the administrators have to create and issue accounts to anyone seeking access to the service)).
-Users (where users can be assigned into groups, have passwords changed, delete users, ban users, change avatars, etc).
-User Groups (where global permissions can be assigned, such as access to the administration panels, the ability to create directories, the ability to moderate directories, etc).
-Theme settings (where default icon images and background images are changed. Not really "required" as these images could just be replaced via FTP, but it'd still be a nice feature if nothing else).
---File Structure---
The filestructure should ideally be something like this:
dirs/ -- The "directories" directory, where new folders will be created to store and organize uploaded materials. Directories here will all contain an index.php to which calls for user login.
[index directory] -- This is where the primary index.php, login.php, logout.php, comments.php and any other session-specific php documents would be listed.
imgs/ -- This is where the icon pngs, the default background image, the default folder icon png, the overlay images (such as little speech bubbles to indicate comments, a plus sign to indicate a newly added file (or new since the user's last viewing of that specific directory), an exclimation point to indicate a newly revised document, etc) will all be stored.
imgs/bgs/ -- This is where user uploaded background images will be stored.
imgs/icons/ -- This is where user uploaded icon PNGs will be stored.
An idea I'd like to develope...
Moderator: General Moderators
-
mikeashfield
- Forum Contributor
- Posts: 159
- Joined: Sat Oct 22, 2011 10:50 am
Re: An idea I'd like to develope...
I've seen one, and seeing as this is (at least that I was able to see) the only question you want answering, I'd better answer you. Yes I've seen what you're describing. Good luck with it.JamesR wrote:I'm assuming everyone has seen a simple web directory where you're presented with a text listing of all included files?
Re: An idea I'd like to develope...
...Not sure if you're trying to troll or if you missed the "I want to lay out the idea here in the hopes that someone can point me in the direction of some good tutorials for developing user-based, database-regulated environments..."
Not everything requesting response needs to come in the form of a question - although I suppose if I had to form it as a question, it would be this:
"After having reviewed the idea submitted, what tutorials (preferably focused towards the creation of a similar web service (such as a forum board, perhaps)) would you recommend me to begin with?"
Not everything requesting response needs to come in the form of a question - although I suppose if I had to form it as a question, it would be this:
"After having reviewed the idea submitted, what tutorials (preferably focused towards the creation of a similar web service (such as a forum board, perhaps)) would you recommend me to begin with?"
-
mikeashfield
- Forum Contributor
- Posts: 159
- Joined: Sat Oct 22, 2011 10:50 am
Re: An idea I'd like to develope...
JamesR wrote:...Not sure if you're trying to troll or if you missed the "I want to lay out the idea here in the hopes that someone can point me in the direction of some good tutorials for developing user-based, database-regulated environments..."
Not everything requesting response needs to come in the form of a question - although I suppose if I had to form it as a question, it would be this:
"After having reviewed the idea submitted, what tutorials (preferably focused towards the creation of a similar web service (such as a forum board, perhaps)) would you recommend me to begin with?"
Starting with something a little simpler, building a good understanding of PHP and web design.JamesR wrote:(just saying that makes me feel over my head)
These sources should come in handy:
http://www.php.net/manual/en/
http://www.w3schools.com/php/
http://www.hotscripts.com/category/scripts/php/
viewtopic.php?f=1&t=121089
http://www.google.co.uk/
Re: An idea I'd like to develope...
If you're asking if you can do it? Sure you can
If you want a side project to improve your skills - this one is great. You an develop your abilities in a lot of directions:
- design (both architectural and graphical), file storage (encryprion, backups), upload-download scripts, environment configurations, reporting, security, tests etc.
You are sure able to develop something that could handle couple of your friends exchanging files.
Technical requirements for business users only, will eat you alive...
99.99% uptime, firewalls, TBs of storage, Gbps of bandwitdh, backups, failover procedures, 24/7 user support service and most important SECURITY...
You will need a great team, a lot of hard work and investments just to try to go near enterprise solutions like MS Sharepoint, which more or less can do things you've described
Don't get me wrong you can still try, a challenge is a challenge
mikeashfield posted you some good links.
Let me add some more things you can google
you'll find tons of tutorials for every one of them
Zend Framework, Symfony, Smarty (for backend)
Dojo Toolkit, JQuery, Mootools (for frontend)
MySQL, PostgreSQL, MSSQL Express (for DB)
XAMPP, Zend Server CE (app server package)
Zend Studio, Netbeans, Eclipse PHP (IDE)
SVN, GIT (version control)
Firebug, Web developer (great Firefox plugins)
If you want a side project to improve your skills - this one is great. You an develop your abilities in a lot of directions:
- design (both architectural and graphical), file storage (encryprion, backups), upload-download scripts, environment configurations, reporting, security, tests etc.
You are sure able to develop something that could handle couple of your friends exchanging files.
If you really want to GO with this , make some money out of it and you have no experience in IT. Just forget itmeet the needs of both home and business users...
Technical requirements for business users only, will eat you alive...
99.99% uptime, firewalls, TBs of storage, Gbps of bandwitdh, backups, failover procedures, 24/7 user support service and most important SECURITY...
You will need a great team, a lot of hard work and investments just to try to go near enterprise solutions like MS Sharepoint, which more or less can do things you've described
Don't get me wrong you can still try, a challenge is a challenge
mikeashfield posted you some good links.
Let me add some more things you can google
Zend Framework, Symfony, Smarty (for backend)
Dojo Toolkit, JQuery, Mootools (for frontend)
MySQL, PostgreSQL, MSSQL Express (for DB)
XAMPP, Zend Server CE (app server package)
Zend Studio, Netbeans, Eclipse PHP (IDE)
SVN, GIT (version control)
Firebug, Web developer (great Firefox plugins)