Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Website with database and online ordering

Options
  • 08-11-2011 10:31pm
    #1
    Registered Users Posts: 22


    ***Sorry i should have had Noob/Question in front of this thread********


    Hi all,
    I think this is the correct location for this but mods please move if needed.

    So i have a college project to do, and i have chosen to create a website for a pizza place, where customers can order online, reserve table or get their meal delivered.

    Basically this project will last the entire school year and we have to use what we learn in the rest of our subjects and implement them into our project.

    One of my modules is in dreamweaver so i should be ok in the designing of the website part, and I'm also doing java, which i presume i'll be using to enable the website and database to 'talk' to each other. (although i don't know how this will be done yet!!)
    So its with the database that i have the problem, i am not doing that subject as i choose dreamweaver instead. The database will be used to store the details of the customers i.e. credit card details, address etc. but i don't know weather this should be done in mySQL or MS access? Also how will the pizza place receive the online orders? via email? via fax? how is this done?

    We now have to do an interim report on our project showing UML diagrams, Use cases, class extraction, CRC cards, instance diagrams, class diagrams and sequence diagrams and transition diagrams. Our lecturer in the subject has just given us a few handouts on UML, told us to go at it and we haven't seen him since! he corresponds through email to the group and tells us to keep researching!
    I'm finding it really difficult to figure out (as are many of my classmates) the concept of UML in order to do these diagrams.
    Can anyone or does anyone know any good web resources with examples that can explain it more clearly? In particular the concept of ordering online, it would be greatly appreciated.

    thanks to all replies.


Comments

  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    dev_g wrote: »
    The database will be used to store the details of the customers i.e. credit card details, address etc. but i don't know weather this should be done in mySQL or MS access?

    How it is done is up to you. In theory, you could use either database. But look at the specs of each - which one is more suited to multiple users? Which one hooks in better with the likes of Java/PHP?
    dev_g wrote: »
    Also how will the pizza place receive the online orders? via email? via fax? how is this done?

    Fax? Seriously? Why in god's name would an online ordering system resort to 1970's technology? Again, how it is done is up to the designer, i.e. you. Forget about the technology and come up with the process flows first. Then the data flows. Then decide how this is to be implemented.
    dev_g wrote: »
    We now have to do an interim report on our project showing UML diagrams, Use cases, class extraction, CRC cards, instance diagrams, class diagrams and sequence diagrams and transition diagrams. Our lecturer in the subject has just given us a few handouts on UML, told us to go at it and we haven't seen him since! he corresponds through email to the group and tells us to keep researching!

    Are you saying you are supposed to have classes and a lecturer isn't turning up? If so, that is a matter for the higher-ups to sort out.
    dev_g wrote: »
    In particular the concept of ordering online, it would be greatly appreciated.

    What exactly is online ordering? Think about it.

    How does an online ordering system really differ from any regular database-driven software? Again, look back at what I said above - work out what processes need to happen to perform the tasks you are assigned and take it from there. Is ordering a pizza the same as booking a table?


  • Registered Users Posts: 1,269 ✭✭✭Tubbs4


    Any chance this is the bsa course in WIT. for the database use xampp which is free to download and is Sql based. You can link the website to xampp through php to update your database


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    Tubbs4 wrote: »
    Any chance this is the bsa course in WIT. for the database use xampp which is free to download and is Sql based. You can link the website to xampp through php to update your database

    I do not think that is the best of advice.

    Why recommend a technology when dev_g isn't quite clear yet on what he has to do?

    And besides, xampp is not just a database, it is a webserver and two programming languages (PHP and perl). dev_g has already said he is using java, so why complicate matters?


  • Registered Users Posts: 1,269 ✭✭✭Tubbs4


    If its the course in WIT he will have to use Xampp for the database course next year. if not he can ignore my message.


  • Registered Users Posts: 22 dev_g


    Tom Dunne wrote: »
    How it is done is up to you. In theory, you could use either database. But look at the specs of each - which one is more suited to multiple users? Which one hooks in better with the likes of Java/PHP?



    Fax? Seriously? Why in god's name would an online ordering system resort to 1970's technology? Again, how it is done is up to the designer, i.e. you. Forget about the technology and come up with the process flows first. Then the data flows. Then decide how this is to be implemented.



    Are you saying you are supposed to have classes and a lecturer isn't turning up? If so, that is a matter for the higher-ups to sort out.



    What exactly is online ordering? Think about it.

    How does an online ordering system really differ from any regular database-driven software? Again, look back at what I said above - work out what processes need to happen to perform the tasks you are assigned and take it from there. Is ordering a pizza the same as booking a table?

    Thanks for the reply, I think mySQL would suit better due the expanding nature of the database i.e. new customers.

    Fax???? yeah dunno why i put that in, it just popped into my head! My idea is that the user would place there order online, and the pizza place would receive an email or SMS telling them about the order. Also the user would receive a confirmation SMS, but again i haven't a clue how this is done!
    I don't know weather i should have the users enter their credit card details though as this seems like it could be difficult to implement.

    I suppose what you are saying is that ordering food online is no different to ordering anything online when you get down to the nuts and bolts?

    Regarding the lecturer, his week was the first time i have seen him since week 2, once he was happy everyone had their projects chosen and had handed out the notes that was it!


  • Advertisement
  • Registered Users Posts: 22 dev_g


    Tubbs4 wrote: »
    Any chance this is the bsa course in WIT. for the database use xampp which is free to download and is Sql based. You can link the website to xampp through php to update your database

    No its not that course but thanks for your suggestion, i'll look into it.


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    dev_g wrote: »
    Thanks for the reply, I think mySQL would suit better due the expanding nature of the database i.e. new customers.

    Do you think MS Access could not handle a growing database? :) You have to think bigger than this. How many people will be accessing the database at the one time? Do you actually know? Probably not. Hence why you need to be sure which database will suit your project.
    dev_g wrote: »
    Fax???? yeah dunno why i put that in, it just popped into my head! My idea is that the user would place there order online, and the pizza place would receive an email or SMS telling them about the order.

    Again, what exactly would the process flow be? How would the pizza place confirm that they had received the order (SMS's get delayed or lost, you know?). What if there were more than one employee working in the pizza place (most likely, don't you think?), how is each order assigned to an employee? Is there a feedback loop when the pizza is sent for delivery so the person who ordered can see it has been dispatched? Is there a confirmation that a booking for a table has been received and confirmed (you don't want diners turning up and being told "sorry, we didn't receive your booking"). And so on.

    These are the questions you need to be asking at this stage, not what database am I going to use. :)
    dev_g wrote: »
    Also the user would receive a confirmation SMS, but again i haven't a clue how this is done!

    That's part of the learning process. There are many options available, but don't get hung up on this just yet.
    dev_g wrote: »
    I don't know weather i should have the users enter their credit card details though as this seems like it could be difficult to implement.

    Again, get your process flow correct first, this will follow.
    dev_g wrote: »
    I suppose what you are saying is that ordering food online is no different to ordering anything online when you get down to the nuts and bolts?

    Now we are talking.

    Sorry if I am coming across overly confrontational, but it sounds like you need direction. You have to focus on the basics first, work in a methodical, structured way, or you will never get anything done. Break the overall task into mini-tasks, each of which can be accomplished relatively easily.


  • Registered Users Posts: 22 dev_g


    Tom Dunne wrote: »
    Do you think MS Access could not handle a growing database? :) You have to think bigger than this. How many people will be accessing the database at the one time? Do you actually know? Probably not. Hence why you need to be sure which database will suit your project.



    Again, what exactly would the process flow be? How would the pizza place confirm that they had received the order (SMS's get delayed or lost, you know?). What if there were more than one employee working in the pizza place (most likely, don't you think?), how is each order assigned to an employee? Is there a feedback loop when the pizza is sent for delivery so the person who ordered can see it has been dispatched? Is there a confirmation that a booking for a table has been received and confirmed (you don't want diners turning up and being told "sorry, we didn't receive your booking"). And so on.

    These are the questions you need to be asking at this stage, not what database am I going to use. :)



    That's part of the learning process. There are many options available, but don't get hung up on this just yet.



    Again, get your process flow correct first, this will follow.



    Now we are talking.

    Sorry if I am coming across overly confrontational, but it sounds like you need direction. You have to focus on the basics first, work in a methodical, structured way, or you will never get anything done. Break the overall task into mini-tasks, each of which can be accomplished relatively easily.


    Im not sure what the limitations of Access or mySQL are as i have only used both for a small amount of time, but as far as i know mySQL would be a more robust and suitable database for this. As for how many people will be accessing? i don't think any will be actually using it as its just a project, but i know what you mean, if this was real world you would want it to be capable of handling major expansion.

    Regarding the flow of the process i guess I'm not sure as i don't know how this is done in a real world situation. I know what you mean about SMS being delayed/lost but could you say this about email too?
    Maybe it would flow like this:

    (This would obviously depend on someone checking the email every few minutes and would have to be part of their job.)

    Customer orders/makes booking online---->
    shop receives order/booking by email
    >
    shop sends confirmation that it received order/booking back via SMS (not automated, must be physically done by shop assistant)--->
    If food to be delivered perhaps another SMS to be sent by shop assistant confirming delivery is on its way---->
    transaction completed???



    thank you for taking the time to reply


  • Closed Accounts Posts: 8,866 ✭✭✭Adam


    I think you're losing part of the logic here with regards to orders being sent/received. Consider any work you've done with database driven content before. If I had a website that sold shoes, it would all run from one database. I, as the owner, would have the CRUD controls from one side, and users would be able to view and purchase from the other side, but we're both essentially working from the same data.

    So to translate the above logic in to simple steps:
    -I add/delete/edit products
    -User browses products
    -User selects product(s)
    -I receive product information and dispatch orders

    Can the above be applied to your pizza joint as well as a shoe sales website?

    And one more point on the last step. Email/SMS/Fax......./etc. are all useful in a more temporary format, but not something you want to rely on to keep a history of orders, and in the right order at that! You need to consider where you might store your orders, shall we say? :) What happens if you want to do a sales report on website-generated revenue two years from now? But don't get hung up on that question! Tom is right, get the simple logic flow of the process down, finalise what will be automated and therefore will need to be a part of your process.


  • Registered Users Posts: 7,410 ✭✭✭jmcc


    dev_g wrote: »
    One of my modules is in dreamweaver so i should be ok in the designing of the website part, and I'm also doing java, which i presume i'll be using to enable the website and database to 'talk' to each other. (although i don't know how this will be done yet!!)
    You haven't gotten to that stage yet.

    Get a pen and paper. Sit down. Go through what you want the site to do. Then write it down in very simple sentences. You have to understand what you want the website to do before you begin working on it.
    We now have to do an interim report on our project showing UML diagrams, Use cases, class extraction, CRC cards, instance diagrams, class diagrams and sequence diagrams and transition diagrams. Our lecturer in the subject has just given us a few handouts on UML, told us to go at it and we haven't seen him since! he corresponds through email to the group and tells us to keep researching!
    Sounds like he's a walking clusterf*ck of a lecturer who never designed anything that worked beyond toy demo stage in the real world. You really need to learn some of this stuff because it might be on the exam. If you have questions, hunt him down and ask him. He should not be allowed to get away with this behaviour. It is your education that is at stake.
    I'm finding it really difficult to figure out (as are many of my classmates) the concept of UML in order to do these diagrams.
    You have to know what you want to do before you start using UML. UML is the kind of thing that management types and academics love because it makes them seem like they understand projects and that is its purpose. You can read the Wikipedia entry here: http://en.wikipedia.org/wiki/Unified_Modeling_Language
    Can anyone or does anyone know any good web resources with examples that can explain it more clearly? In particular the concept of ordering online, it would be greatly appreciated.
    The concept of online ordering for the user is simple:

    Visit site.
    Read site.
    If not registered then register.
    Choose product and quantities.
    Choose options.
    Choose payment options (creditcard/cash/paypal)
    Pay for product.
    Leave site.
    Wait.
    (If product is not delivered return to site and complain.) else (Enjoy product sensibly.)

    For the site/db:
    Is customer registered - if not (register)
    select customer details from db (either login or cookies to determine selected data)
    get customer selection from form
    enter selection, timestamp and visitor details as open order
    notify relevant person
    relevant person checks details, manages order and closes order
    site/db notifies customer that order is being delivered or payment has failed.
    site/db writes order details to accounts table.

    That's just a basic idea. The key thing when designing ordering sites is that you control and limit the number of options available to the user and make sure that the process is as simple as you can make it.

    Most first-timers panic when confronted with what seems to be a large project where they have to tie a bunch of skills and knowledge together. The reality is that this kind of project is not that complex once you go through it stage by stage. UML is really just putting these steps in the industry standard jargon so that theoretically anyone can understand the project's objective and how it achieves that task. But you have to understand what you want to achieve before you use UML.

    Regards...jmcc


  • Advertisement
  • Closed Accounts Posts: 18,163 ✭✭✭✭Liam Byrne


    An actual "pay for" option would require a secure server and CC details would not be stored in a standard database or emailed.

    I know it's a project but if the above isn't pointed out then the lecturer isn't up to much.


  • Registered Users Posts: 7,410 ✭✭✭jmcc


    Liam Byrne wrote: »
    I know it's a project but if the above isn't pointed out then the lecturer isn't up to much.
    Well he's probably better off in academia than the real world. It may be just an inherited course that he has to mark students on but the way that he fecked off like that is unacceptable - he should be hunted down by the students and made to answer their questions - that's what he is being paid for. If he doesn't then, as recommended above, they should escalate it.

    Paypal as a payments processor might be a simple solution as its API is typically straight forward. It might completely shortcircuit the project by providing the backend of an online ordering system and a notification system (e-mail) for the customer and the owner.

    Regards...jmcc


  • Registered Users Posts: 1,645 ✭✭✭k.p.h


    jmcc is after giving you a great outline of you basic requirements OP, if I were you I would keep it simple like he said and work from their.

    Here is a link to the a bit about UML that I used.


  • Registered Users Posts: 22 dev_g


    Thanks for all the replies guys, really appreciate it.

    Regarding the Credit card / Paypal payment procedure i think i might just leave that out altogether as it seems like it could cause problems.

    So now its basically:

    -user browses site
    -user adds items to cart if they wish
    -to place an order user must login
    -if user not already registered, then complete registration
    -complete purchase and wait for delivery / go and collect

    On the shop side:

    -database stores all registered users
    -if user places an order login details are verified
    -notify the shop/kitchen via email of new order
    -order is passed to relevant person, after they/DB notify customer that order has been received
    -order dispatched if required

    After doing some reading up on UML today i have come up with a use case diagram (attached)

    Am i on the right track with this? or still completely in the dark????

    once again thanks for your help on this.


  • Registered Users Posts: 22 dev_g


    dev_g wrote: »
    Thanks for all the replies guys, really appreciate it.

    Regarding the Credit card / Paypal payment procedure i think i might just leave that out altogether as it seems like it could cause problems.

    So now its basically:

    -user browses site
    -user adds items to cart if they wish
    -to place an order user must login
    -if user not already registered, then complete registration
    -complete purchase and wait for delivery / go and collect

    On the shop side:

    -database stores all registered users
    -if user places an order login details are verified
    -notify the shop/kitchen via email of new order
    -order is passed to relevant person, after they/DB notify customer that order has been received
    -order dispatched if required

    After doing some reading up on UML today i have come up with a use case diagram (attached)

    Am i on the right track with this? or still completely in the dark????

    once again thanks for your help on this.



    Anyone??


Advertisement