Creating a web application, whats your workflow?

Discussion in 'PHP' started by webandinkmedia, Jul 12, 2009.

  1. #1
    Hi,

    Please share to me or us some of your ideas and work flow in creating a web applications, do you create diagram first? or you go straight in coding the web application.

    thanks!
     
    webandinkmedia, Jul 12, 2009 IP
  2. Bohra

    Bohra Prominent Member

    Messages:
    12,573
    Likes Received:
    537
    Best Answers:
    0
    Trophy Points:
    310
    #2
    Well if u know the concept than drawing a flow chat kind of thing isnt needed..But when i read a tutorial they said its a good practise
     
    Bohra, Jul 12, 2009 IP
  3. Social.Network

    Social.Network Member

    Messages:
    517
    Likes Received:
    15
    Best Answers:
    0
    Trophy Points:
    35
    #3
    Ideally, software design and then implementation. However, it is my experience that this is not the case. Most projects throw software design out and start coding. Interesting note, the applications usually have major bugs and maintenance issues. Proper software design can mitigate the prior mentioned issues.
     
    Social.Network, Jul 12, 2009 IP
  4. webandinkmedia

    webandinkmedia Active Member

    Messages:
    501
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    58
    #4
    If I have a system in my mind I usually in write it down in papers and creating a system flow chart so when its time to build or code, I won't get lost.

    @Social.Network yeah good point.
     
    webandinkmedia, Jul 13, 2009 IP
  5. jestep

    jestep Prominent Member

    Messages:
    3,659
    Likes Received:
    215
    Best Answers:
    19
    Trophy Points:
    330
    #5
    I have a fairly specific track that I develop on.

    First, I map out exactly what the app is going to do. I make/get a list of all of the functions/features the app needs to have. What sort of administration, integrations with other services, etc. This needs to be detailed to prevent major feature creep while you're developing. It's bad to find out you're missing some key functionality when a project is 99% complete. I also want to know what the intended usage is, intranet or internet, and the anticipated traffic amount. At this stage, you can do any wire-framing, and what the design should look like.

    Next, I would plan on how best to organize the application. Plan on what platform to use, whether to use a framework, the different functions, and then a rough code organization plan.

    Now, I would plan and create the database. Create the tables, foreign keys, pre-populate any reference tables, like states, countries, any sort of static referencing. Also, assuming that I have some idea of what the potential traffic will be, I can decide on whether I need to provide any further custom configuring to the DB and web server parameters.

    Next I start the coding. Generally I start out with basic global functions, the DB connector, then I would go to the authorization system, and then build the framework for the app itself. Once you get the authorization system going, the other features usually show some logical order in which to start coding. Some feature will be reliant on others, so it's best to start at the bottom and build up. After the authorization system is complete, you can also add the design. It's a matter of preference when to actually start using it, but normally the UI is important to the overall functionality, so I generally add it around the time I get the authorization system complete.

    After the app is done coded, and basic testing for errors, I would start benchmarking and make changes to improve performance and stability. Sometimes, you would need to get some actually load on the system to find the bottlenecks.
     
    jestep, Jul 13, 2009 IP
  6. JREAM

    JREAM Member

    Messages:
    160
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    30
    #6
    I usually have this workflow:

    Idea >
    Drawing >
    Database Organization >
    Coding >
    Re-Organize Files/Dirs while Coding >
    Re-Organize Database while Coding >
    Design while Coding >
    Finish.
     
    JREAM, Jul 13, 2009 IP
  7. webandinkmedia

    webandinkmedia Active Member

    Messages:
    501
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    58
    #7
    @jestep Wow great steps very organize! i was inspired.
    @JREAM also nice!

    @jestep Example a Simple Hotel Booking system, How long would it take you to build this system using your workflow? language to use for example is PHP or your prefered langue for building web apps.

    thanks!
     
    webandinkmedia, Jul 14, 2009 IP
  8. Stu--

    Stu-- Active Member

    Messages:
    355
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    53
    #8
    It makes it SO much easier if you plan it out first, even just on a scrap of paper. Jumping straight into coding is best left in the past with procedural programming languages. In the OOP world, we need this stuff mapped out.
     
    Stu--, Jul 14, 2009 IP