create an application

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pinky8
    New Member
    • Aug 2008
    • 14

    create an application

    I'm thinking about creating an application for a restaurant. The application will take orders as takeout-customers come in and will notify the chef in the kitchen about the orders. This way there is no need to physically walk from the front to the kitchen to tell the chef about the orders. I don't want the application to be accessible on the Web because the orders are kind of private, if you will.

    I'm debating about which database and what coding language to use. Any suggestions? I don't want to use Oracle because you have to purchase. The restaurant data will be small and no need to have the capacity that Oracle provides. MS Access database is free but not sure if it's flexible enough or that easy to use. I need to generate reports and calculate some numbers about those orders, like how much takeout orders were paid in cash, visa...

    ASP is good but not sure the right choice.
  • jhardman
    Recognized Expert Specialist
    • Jan 2007
    • 3405

    #2
    MS access is pretty flexible, you can get it to do just about anything, and it has a lot of built in reporting capability. If you want more power, you can always try MS-SQL Server (express version is free and still pretty strong) or MySQL - free, super powerful (wikipedia and Google both use MySQL) and there are some installs that aren't too hairy to set up.

    ASP is still pretty useful over an intranet, but the biggest reason to not use it is that it is deprecated in favor of new technologies. you might want to try PHP - MySQL. Powerful and still being supported.

    Jared

    Comment

    • pinky8
      New Member
      • Aug 2008
      • 14

      #3
      Jared, thanks for the response. Hmm... I'm wondering what's the learning curve for PHP and MySQL. I've never used them. I know Oracle well.

      I agree with you about ASP, and another drawback with it is the codes are not shielded with users (that is, cannot generate binaries for implementing on user machine).

      Since it's not a Web application, how can the program running in the computer at the front door communicate and send the orders to the computer running the same application in the kitchen?

      Comment

      • JamieHowarth0
        Recognized Expert Contributor
        • May 2007
        • 537

        #4
        Hi pinky8,

        Firstly, since it's not a web app (and not specifically ASP-related), I've moved your thread to the Software Development forum.

        Secondly, your two computers should be hooked up onto an intranet and one of them should have the database installed on it. As it's only two computers (let's assume, for the sake of argument, you also want a third computer to do spreadsheets and accounting, like daily sales figures), you'd need a LAN - if your restaurant is quite large in terms of floor space then consider using a WPA-protected wireless network (WEP is too weak).

        Thirdly, in terms of databases - think about budget and size. How many orders will be run through this database every day? If it's in the hundreds, look at Microsoft SQL Server Express Edition, or consider paying money for the Standard Edition, because then you can also consider replication and then have orders booked online through a website (Express Edition replication features are very limited).
        If, however, it's a low-volume restaurant, then look at MySQL. Microsoft Access is OK but can be very limiting in terms of reporting capabilites. My opinion is biased, but on a low-volume restaurant, I'd use Microsoft SQL Server Express Edition with Advanced Services (includes Reporting), and build an ASP.NET website, to communicate with a web-facing database, which would then be replicated with the database in the restaurant, and then use VB.NET (you can get Visual Basic Express Edition for free) to build an app for the kitchen and an app for front-of-house to process card payments and guests as they arrive.

        Hope this helps.

        Best regards,

        medicineworker

        P.S. I am available for consultative work :-D

        Comment

        • JosAH
          Recognized Expert MVP
          • Mar 2007
          • 11453

          #5
          Java comes free and since Java 1.5 it comes bundled with a database engine
          written in Java; it has SQL and all (the original db was Apache Derby). The
          combination is quite light weight. If you don't want a web app you can use RMI
          (Remote Method Invocation), a technology that also comes bundled with Java.
          For the GUI stuff you can use Swing (also bundled). RMI is Java's version of
          RPC (Remote Procedure Call) and runs on top of Corba IIOP (all under the hood).
          You don't need MS Windows to run this all; Java is also perfectly happy on a
          Linux box of (almost) any type.

          kind regards,

          Jos

          Comment

          • tlhintoq
            Recognized Expert Specialist
            • Mar 2008
            • 3532

            #6
            I'm just curious why you are choosing to build this from scratch instead of using an established product like Micros, which already does what you've described plus track staff sign-in/out, table reservations, tip splitting etc.

            Comment

            • JamieHowarth0
              Recognized Expert Contributor
              • May 2007
              • 537

              #7
              Originally posted by tlhintoq
              I'm just curious why you are choosing to build this from scratch instead of using an established product like Micros
              Three words - free market competition!

              med

              Comment

              • tlhintoq
                Recognized Expert Specialist
                • Mar 2008
                • 3532

                #8
                Originally posted by medicineworker
                Three words - free market competition!

                med
                MedicineWorker. I totally agree with your reason of open and aggressive competition. Its what keeps economies strong and most of us employed. I was just curious what Pinky8's reason was. Was it a shortcoming in an existing product? What is a cool intellectual challenge? Was there a need for a simpler solution for a much smaller set of needs than software already on the market? Was this a homework assignment he was getting on-the-side help with?

                I think its good to find out why someone wants to create a commercial piece of software. Otherwise we don't hear about a niche that might need to be filled for others, and thus a potential gig for a enterprising software developer.

                Comment

                • pinky8
                  New Member
                  • Aug 2008
                  • 14

                  #9
                  Originally posted by tlhintoq
                  I'm just curious why you are choosing to build this from scratch instead of using an established product like Micros, which already does what you've described plus track staff sign-in/out, table reservations, tip splitting etc.
                  I didn't know there was established product out there. How much does it cost? Where can I get it? It'd be great if I don't have to write it from scratch. My close friend asked me to write it for him (for free). I don't mind helping.

                  Comment

                  • pinky8
                    New Member
                    • Aug 2008
                    • 14

                    #10
                    Originally posted by medicineworker
                    Secondly, your two computers should be hooked up onto an intranet and one of them should have the database installed on it. As it's only two computers (let's assume, for the sake of argument, you also want a third computer to do spreadsheets and accounting, like daily sales figures), you'd need a LAN - if your restaurant is quite large in terms of floor space then consider using a WPA-protected wireless network (WEP is too weak).
                    It's a small-size restaurant. I'm doing my friend a favor, not getting paid for my time at all. It'll be a good learning experience for me. I've never setup a LAN. At work there are system admins who take care of setting up every thing for us, and actually we're not allowed to work on it. Do you have any detail instructions for setting a LAN and a WPA-protected wireless network? I think the free database and VB.NET will be fine to start with but I'll need to learn that too. If I can get Micros like tlhintoq mentioned then I don't have to write codes but still need to set up a protected network.

                    Comment

                    • tlhintoq
                      Recognized Expert Specialist
                      • Mar 2008
                      • 3532

                      #11
                      Originally posted by pinky8
                      I didn't know there was established product out there. How much does it cost? Where can I get it? It'd be great if I don't have to write it from scratch. My close friend asked me to write it for him (for free). I don't mind helping.
                      Oh how I know those "could you help me out' situations. I have all but rebuilt my buddy's small newspaper with him. Pulled cat5, setup systems, linked the pressroom to the composing department. But hey, he's done just as much for me. That's what friends do.

                      Sounds like it will be a great learning opportunity. Nobody ever wants to train, but the want people who are trained. Catch-22. A friend giving you free reign in exchange for free services is a win-win situation.

                      As for the Micros system. Two good places to start:
                      (1) Its by Micros. Try www.micros.com
                      (2) Swing by just about any restaurant or pub. If you see the staff swiping cards into the black-framed touchscreen then it is probably a Micros system. Just ask them. Ask them what they like and don't like. People are friendly by nature if you're friendly toward them. You might find you don't want or need all the features it has, but you can learn a lot of things from seeing a successful system. Not the least of which is what staff trained at a different restaurant are familiar with. If you keep to conventions and terms in your software that have the same meaning in an industry standard then your staff have an easier time adjusting.

                      Just last week I did that with a personnel security system for a large industrial complex. Funny how willing the security guards were to show me their entire layout when I told them I was developing a security system and wanted to know all their complaints so I didn't make the same mistakes. ( I never said it was for *them* ). All it takes is the slightest hint that a better product might be in the pipeline and they were more than willing to show me the whole deal even though I didn't work for them. The guy just looked like the friendly type.

                      Comment

                      • tlhintoq
                        Recognized Expert Specialist
                        • Mar 2008
                        • 3532

                        #12
                        Originally posted by pinky8
                        It's a small-size restaurant. I'm doing my friend a favor, not getting paid for my time at all. It'll be a good learning experience for me. I've never setup a LAN. At work there are system admins who take care of setting up every thing for us, and actually we're not allowed to work on it. Do you have any detail instructions for setting a LAN and a WPA-protected wireless network? I think the free database and VB.NET will be fine to start with but I'll need to learn that too. If I can get Micros like tlhintoq mentioned then I don't have to write codes but still need to set up a protected network.
                        You can also enter the MAC address of the restaurant computers into the access points of the wireless network, as part of their filter/approved/whitelist. Most access points have an option that is off by default to only allow computers on the list. You have to plug into the access point directly to enter the list, which network administrators don't like doing because it means they have to leave their desks. If your access points are in the drop ceiling for example, adding a new computer becomes actual *work*, where typing in the WPA is clean. If you won't expect to be adding computers on a regular basis then a MAC filter list is another good layer of security. Don't forget to ask the owner if he wants his personal laptop to work in the restaurant as well.

                        Comment

                        • JamieHowarth0
                          Recognized Expert Contributor
                          • May 2007
                          • 537

                          #13
                          I use MAC address filtering, static IPs and a 26-digit MD5 hash of my favourite password as the WPA2 key on my network (yes, I love secure stuff).

                          I also know all about the "help out a friend" scenarios. Been there and done it a million times - it's how I got into being a web developer.

                          IMHO, buying the software will be a darn sight quicker and easier than building it from scratch. Not only will you save months of learning how to build software, and more months of posting on here when you come across code quirks, but the whole product *should* work off-the-shelf for you, and there'll be a tech support guy on the other end of the phone when you need it.

                          Ultimately it's a calculation of which is more expensive - weeks/months of your time or a few hundred bucks of your friend's cash.

                          medicineworker

                          Comment

                          • stragatto
                            New Member
                            • Sep 2008
                            • 7

                            #14
                            Originally posted by pinky8
                            It's a small-size restaurant. I'm doing my friend a favor, not getting paid for my time at all. It'll be a good learning experience for me. I've never setup a LAN. At work there are system admins who take care of setting up every thing for us, and actually we're not allowed to work on it. Do you have any detail instructions for setting a LAN and a WPA-protected wireless network? I think the free database and VB.NET will be fine to start with but I'll need to learn that too. If I can get Micros like tlhintoq mentioned then I don't have to write codes but still need to set up a protected network.
                            Setting a protected network will be by far the easiest part of the work, even for an unexperienced user. And it is the easiest way for sharing data between two or more computers. You will find detailed instructions in the manual of your access-point/router, but you will need also wireless network adapters for each computer, unless you connect them with ethernet cables. TP-Link wireless adapters are very reliable and not expensive at all.

                            Comment

                            • tlhintoq
                              Recognized Expert Specialist
                              • Mar 2008
                              • 3532

                              #15
                              Originally posted by medicineworker
                              I use MAC address filtering, static IPs and a 26-digit MD5 hash of my favourite password as the WPA2 key on my network (yes, I love secure stuff).

                              I also know all about the "help out a friend" scenarios. Been there and done it a million times - it's how I got into being a web developer.

                              IMHO, buying the software will be a darn sight quicker and easier than building it from scratch. Not only will you save months of learning how to build software, and more months of posting on here when you come across code quirks, but the whole product *should* work off-the-shelf for you, and there'll be a tech support guy on the other end of the phone when you need it.

                              Ultimately it's a calculation of which is more expensive - weeks/months of your time or a few hundred bucks of your friend's cash.

                              medicineworker
                              The question becomes: "What is *your* goal?" If your only goal is to get this done for your friend, then buy a proven system off the shelf as MedicineWorker states. But if your goal is different than your friend's... Such as your goal is to actually learn to code for the real world, then a real world project will give you that experience, but at the cost of time and reliability and probably a stripped-down set of features. It will take months instead of days before it can be installed. It will lack many standard things people expect. But if its going to be 3 months before the restaurant opens anyway, you can use it as a learning project and the choice to buy off-the-shelf is still open if you aren't done when the place opens. If the place is open now and they need the software yesterday, then months to develop isn't the right choice for the client, even if he is a friend.

                              Comment

                              Working...