Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am a Computer Science student (6th semester). I want to make a project and I have a team of 4 people (My friends). So we are 5 people and we have decided to make a "Web based file explorer". The project will be similar to THIS one.

How should we start with this project? We guys don't know much about programming. I know Java a little and I am a RHCE so can handle the server and all such administrative stuffs. Since this is our first project so we guys have no idea how we'll make it? I know Java and other guys in the group knows C#, ASP.NET, PHP, SQL and Joomla. Please guide and give your suggestions. Thank you.

PS : Perhaps my question is not complete, if you want more information then leave a comment I will edit the question.

share|improve this question

closed as too broad by MichaelT, GlenH7, gnat, Bart van Ingen Schenau, Robert Harvey Oct 26 '13 at 17:08

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

Why did you use a URL shortner for the link? That seems kind of pointless... I don't like not knowing where what I'm about to click on is going to take me... –  Dean Harding Feb 10 '11 at 5:36
No offense intended, but you should have enough knowledge to at least get started, if you've been studying computer science for a few years now... –  sevenseacat Feb 10 '11 at 5:44
@Dean Harding : Edited –  Chankey Pathak Feb 10 '11 at 5:55
@Karpie : See we know that stuff like getting the requirements, analysis and all such SDLC phases but that was all theoretical, no practical knowledge at all. :| –  Chankey Pathak Feb 10 '11 at 5:57

3 Answers 3

up vote 6 down vote accepted

You Should start by asking and answering yourself a few questions:

  • What is the goal ?

    • Do you want to learn new stuff
    • Do you want to create the next filebrowser that everybody wants to buy.
    • Is it to show your school that you have certain skills.
  • What functionality must it have

    • browsing
    • copying
    • deleting
    • editing
    • determining size
    • searching
  • What non functional requirements do you have

    • does it need to be browser based or a windows client
    • where must it run (windows/Linux/mac)
    • do you want automatic updates
    • is security an issue
    • other non-functional requirements
  • What is the planning

    • do you have a deadline
    • how much hours a week can you spend
    • is there a testing phase planned (how much time does that take)
    • do you need to setup a server somewhere and what is the time needed to that and what technologies/budget should it take.

You don't need to work it all out in detail but a global idea you need to have.

With that in place you can make educated technology choices and come back here with questions like :

  • What technology is better for this scenario
  • With this time frame what would be the fastest way to build this fileexplorer
  • Where are the best Joomla! resources

Start building and go to stackoverflow for implementation detail questions.

share|improve this answer
This was a useful checklist no matter what you are making –  erikric Feb 10 '11 at 9:04
Your answer also helped me, thanks! –  Coyote21 May 14 '11 at 19:42

You need to utilize a number of languages and technologies. Look at the definition: web-based, so it should be hosted on a server, also it should be consumable by a browser.

For server-side scripting you have some options: PHP, ASP, Perl, ... This is a matter of personal taste and preferences, but I usually use PHP (and MySQL).

For client-side you are going to mess with HTML, Javascript, and CSS. Instead of using raw Javascript you can use a Javascript framework like jQuery. The advantage is that it is easier to learn and you'd need write less code for achieving a similar outcome. You also get cross-browser compatibility out of the box when using a well established framework.

The division of the program to server-side and client side does not mean you write two separate bodies of code. Actually, every thing is uploaded to the server, but then some of the code is executed by the server, and results and some more code is sent (by the server) to your browser and is executed (or parsed) inside your browser.

For the application you have in mind a blueprint is along these lines (I present it as the thoughts the programmer goes through):

What is it to be built? A web-based file browser

Where are the files to be browsed? On the server ... I use one of the directories as the root and browse (list files and nested subdirectories)

So, I need a script to scan the directory and produce the list of files and subdirectories. I call this scandir.php

So if I write scandir.php and put it on the server, if I go to myhost.com/scandir.php It will send back the list of files and subdirectories in say myhost.com/homedir/

But this is being sent to my browser, so what is sent should be a HTML document, so I write scandir.php to output html code AND the output I'm interested in.

Wait a minute ... there are two subdirectories in /homedir/ and there are more files inside those as well, how do I get to show those? I know, I'll make the sub-directories to be displayed like a folder and make them links, so if I click on the folder icon for /homedir/books/ it sends a request to scandir.php telling it I need the list of files in /books/ subdirectory.

This is getting too long so I think it is enough for a start. Good luck.

share|improve this answer

Just for clarification, Joomla! is a platform.

That aside, why not harness a majority of what your group's knowledge is directly associated? Write a Joomla! module (in PHP) that allows a user, with a particular role, browse a particular subset of the file system (maybe their home directory?).

Frankly, why not try for something a little more original? A web-based file explorer has been done many times.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.