Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors Visitors

Don't forget to hit the ⭐ if you like this repo.

Proposal

FOOD ORDERING SYSTEM AT ARKED ANGKASA (UTM)

Prepared by:

  1. MUHAMMAD DANIEL HAKIM BIN SYAHRULNIZAM (A22EC0207)
  2. MUHAMMAD ARIFF DANISH BIN HASHNAN (A22EC0204)
  3. MUHAMMAD IMAN FIRDAUS BIN BAHARUDDIN (A22EC0216 )
  4. MUHAMMAD SAFWAN BIN MOHD AZMI (A22EC0221)
  5. CHE MARHUMI BIN CHE AB RAHIM (A22EC0147)

Alt text

Alt text

Table of Contents

1. Executive Summary

The food industry is one of the most promising sectors, with the ever-increasing demand for online food ordering systems. The food ordering system provides a convenient and efficient way for customers to order food from their preferred restaurants with minimal effort. This system also benefits restaurant owners as they can manage their orders and track their sales efficiently.

Our food ordering system is a user-friendly, scalable, and secure solution that allows customers to order food online and pay through various payment methods. Our system also includes a user-friendly dashboard for restaurant owners to manage their menu, inventory, and order fulfillment process efficiently.

Our system utilizes the technologies to ensure reliability, security, and performance. It supports multiple platforms and devices, making it accessible to a wider audience. We have also implemented a robust feedback system that allows customers to provide feedback on their orders, helping us improve our service continuously.

Overall, our food ordering system provides an efficient and reliable solution for customers to order food online at Arked Angkasa and for the restaurant owners to manage their business operations much more effectively.

2. Background:

The food industry has experienced significant growth in recent years, with more people opting for the convenience of online food ordering. With the rise of digital technologies and the increasing number of mobile devices, customers are looking for fast and easy ways to order food from their favorite restaurants.

Traditionally, ordering food required customers to visit a restaurant in person or call to place an order. This process was time-consuming and often resulted in errors in orders. Moreover, restaurants had to rely on manual processes to manage their orders and inventory, making it challenging to keep up with the demand.

The development of online food ordering systems has revolutionized the way people order food. Customers can now browse menus, select items, and pay for their orders online, making the process more convenient and efficient. Additionally, restaurant owners can manage their orders and inventory more efficiently, improving their overall business operations.

The COVID-19 pandemic has also contributed to the growth of the online food ordering industry, with many restaurants pivoting their business models to offer online ordering and delivery services. This has further accelerated the need for reliable and efficient food ordering systems.

Overall, the food ordering system is a solution that addresses the growing demand for online food ordering especially in Arked Angkasa and provides a convenient and efficient way for customers such UTM students, staff and outsiders to order food and for restaurant owners to manage their operations effectively.

3. Objectives:

Our proposed Food Ordering System aims to achieve the following objectives:

1- Improve customer convenience: The primary objective of a food ordering system is to provide customers at Arked Angkasa with a convenient way to order food online. By providing an easy-to-use interface and various payment options, customers can quickly order their desired food items from the comfort of their homes, offices and hostel.

2- Increase sales: A food ordering system can help restaurants increase their sales by providing them with an additional channel to reach customers. With an online ordering system, restaurants can expand their customer base, increase order volumes, and boost revenue.

3- Enhance order accuracy: With a food ordering system, customers can ensure the accuracy of their orders, minimizing errors that may occur when placing orders over the phone or in-person. Additionally, the system can help restaurants keep track of orders and ensure that the right food items are prepared and delivered to the customer.

4- Streamline operations: By automating the ordering process, a food ordering system can help restaurants streamline their operations. This includes managing menus, inventory, and order fulfillment, which can improve overall efficiency and reduce operational costs.

5- Improve customer experience: A food ordering system can help restaurants provide a better customer experience by offering features such as order tracking, personalized recommendations, and customer feedback. This can lead to increased customer satisfaction and loyalty.

4. Scope:

The scope of a food ordering system can vary depending on the specific requirements of the system, but some common features and functionalities that can be included are:

  • User Registration and Login : Users should be able to create their accounts and log in to the system using their credentials.

  • Menu Management : The system should allow restaurant owners to manage their menu, including adding, updating, and deleting items.

  • Order Placement : Customers should be able to browse the menu and place orders online, either takeaway or dine-in.

  • Payment Processing : The system should provide a secure and efficient payment gateway that enables users to make payments online.

  • Order Tracking : The system should allow customers to track their orders in real-time and provide status updates, such as order confirmed, preparing, on the way, and delivered.

  • Feedback and Reviews : The system should allow customers to provide feedback and leave reviews for the restaurant and its dishes.

  • Admin Panel : The system should have an admin panel that enables the restaurant owner(Sdap Kitchen/Deen Corner) to manage the entire system, including users, menu items, and orders.

  • Mobile App : The system can have a mobile application that enables customers to place orders and track their orders on the go.

  • Analytics and Reporting : The system can provide analytics and reporting tools that enable the restaurant owner to analyze their sales and make informed business decisions.

In summary, this food ordering system can streamline the entire food ordering process, from browsing the menu to payment processing and delivery, thereby enhancing the user experience and generating higher sales for the restaurant.

5. Software Process Model:

Alt text

A planned and methodical approach to software development that provides high-quality, dependable, and maintainable software is what the software process model aims to achieve. It outlines the procedures, actions, and activities needed to create software, from gathering requirements to testing, releasing, and maintaining it.

The Agile methodology is the optimal development process paradigm for a food ordering system. This methodology focuses on providing a minimum viable product (MVP) during brief development cycles and is characterised by iterative and incremental development. It enables ongoing feedback and interaction between the development team and stakeholders, allowing the team to quickly adjust to shifting priorities and requirements.

The Agile methodology is perfect for this project because it guarantees timely delivery of a functional registration system while allowing for flexibility and response to stakeholder feedback. Additionally, it offers a framework for controlling project risks and guaranteeing that performance and quality are upheld throughout the development process.

The illustration of the Agile software process model that relates to this project is shown below:

  1. Planning phase : In this phase, project goals are defined, stakeholders are identified, and the project's scope, objectives, and requirements are described. The tasks include creating the project charter, analysing the stakeholders, and obtaining the requirements. The project manager is in charge of supervising the operations throughout this two-week phase.

  2. Design phase : In this phase, the development team designs the system architecture, database schema, and user interface. Database design, prototyping, and wireframing are among the tasks. The software architect is in charge of managing the tasks throughout this phase, which lasts for four weeks.

  3. Development phase : Coding, unit testing, and integration testing are all part of this step. Coding, testing, and documentation are among the tasks. The development team lead is in charge of managing the activities throughout this six-week phase.

  4. Testing phase : The development team tests for functionality, performance, and security throughout this stage. The activities include test preparation, test execution, and defect management. The QA lead is in charge of managing the tasks during this phase, which lasts for two weeks.

  5. Deployment phase : During this phase, the registration system will be put into production and user acceptance testing will be carried out. The activities include user training, documentation, and system maintenance. The project manager is in charge of supervising the operations throughout this two-week phase.

This project will use functional, performance, and security testing approaches. Retrospectives, sprint planning, and daily stand-up meetings are all examples of project management techniques. Code reviews, automated testing, and user acceptability testing will all be included in quality assurance procedures.

In conclusion, the suggested meal ordering method is best suited to the Agile development process model. Its incremental and iterative methodology, along with efficient project management techniques and quality assurance procedures, will guarantee the prompt delivery of a dependable and high-quality food ordering system.

6. Budget:

The budget for developing a food ordering system can vary depending on several factors, such as the complexity of the system, the features and functionalities required, the development platform, and the development team's location and expertise.

Category Description Revised Cost
Staff 2 Programmers RM 50,000/year each
1 System Analyst RM 60,000/year
1 Project Manager RM 100,000/year
Total Staff Cost RM 260,000/year
Equipment Servers RM 80,000
Workstations and Laptops RM 50,000
Networking and Cabling RM 20,000
Security and Backup RM 20,000
Total Equipment Cost RM 170,000
Software Relational Database Management System (RDBMS) RM 15,000
Web Server RM 5,000
Mobile Application Development Framework RM 10,000
Data Analytics Tools RM 15,000
Total Software Cost RM 45,000
Other Expenses Rent for Office Space RM 50,000/year
Utilities RM 10,000/year
Marketing and Advertising RM 30,000
Contingency RM 100,000
Total Other Expenses RM 190,000
Total Estimated Cost - RM 665,000

7. System Architecture:

Case Diagram of Food Ordering System at UTM:

Use Case Diagram

The Customer actor can perform the following use cases:
  • Register/Login: This use case allows the Customer to register or login to their account.
  • Browse menu: This use case allows the Customer to browse the available menu items.
  • Place order: This use case allows the Customer to place an order.
  • Modify order: This use case allows the Customer to modify an order they have already placed.
  • Cancel order: This use case allows the Customer to cancel an order they have already placed.
  • View order status: This use case allows the Customer to view the status of an order they have placed.

The Admin actor can perform the following use cases:

  • Manage menu: This use case allows the Admin to add, remove, or modify menu items.
  • Manage orders: This use case allows the Admin to view and manage the orders that have been placed by the customers.

Client side:

This component represents the user interface that customers will interact with. It could be a mobile application or a web application. The client side will provide the customer with options to browse the menu, place an order, view order history, and perform other related activities.

Server side:

This component represents the server that will handle all the requests from the client side. It will be responsible for processing the order, updating the menu, sending notifications, and other related activities. The server side can be divided into three layers:

a. Presentation layer: This layer is responsible for rendering the user interface for the client side. It handles all the user interactions, receives the user's input, and sends the input to the next layer for processing.

b. Application layer: This layer is responsible for processing the user's input received from the presentation layer. It contains all the business logic required to handle the user's request, including checking for available stock, calculating the total cost, updating the database, and generating the order confirmation.

c. Data layer: This layer is responsible for managing the data that the system uses, including the menu items, customer details, order history, and other related information. It interacts with the database to store and retrieve data.

Database:

This component represents the database that the system uses to store and retrieve data. It will store all the information related to the menu items, customer details, order history, and other related information. The database can be a Relational Database Management System (RDBMS) or a NoSQL database, depending on the specific requirements of the system.

Third-party integrations:

This component represents any third-party services or tools that the system uses, such as payment gateways, email services, or contact services. The system can integrate with these services to provide additional functionality and enhance the user experience.

Tools and technologies:

  • Node.js: a JavaScript runtime that allows for server-side scripting.
  • Express.js: a Node.js-based web framework that is used to build fast and scalable web applications.
  • HTML/CSS: the basic building blocks of web development that are used to structure and style web pages.
  • JavaScript: a programming language that is used to add interactivity and dynamic functionality to web pages.
  • React.js: a JavaScript library that is used to build interactive user interfaces.
  • MySQL: an open-source relational database management system that is commonly used in web development.
  • PostgreSQL: an open-source object-relational database management system that is known for its scalability and reliability.
  • Stripe: a payment gateway that allows businesses to accept payments online.
  • Google Cloud Platform (GCP): a cloud computing platform that provides scalable and flexible infrastructure for building, deploying, and managing applications.

8. Risk Assessment

The development of an food ordering system carries certain risks that must be identified and mitigated. The following are the potential risks that could affect the project:

  1. Technical risks: Developing a food ordering system involves working with various technologies, such as databases, APIs, and web applications. Technical risks include bugs, compatibility issues, and data loss. These risks can lead to system downtime, data breaches, and financial losses.

  2. User adoption risks: The success of a food ordering system depends on user adoption. If users find the system difficult to use or unreliable, they may choose to use a competing service, which can result in revenue losses.

  3. Changes in Project Requirements: Changes in project requirements can occur due to external factors such as regulatory changes, user feedback, or market demands. These changes can impact the project timeline, budget, and quality of the final product.

  4. Security risks: The security of the food ordering system is critical because customers will be sharing their personal and financial information with the system. Hackers and cybercriminals may try to steal this information, which can lead to identity theft and financial losses for customers. A security breach can also damage the reputation of the business and result in legal liabilities.

  5. Team turnover: Losing key team members during the development process can result in delays and loss of institutional knowledge.

To eliminate these risks, the following method will be used:

  1. Technical risks: Mitigation options for this risk include conducting thorough testing, implementing backup and recovery systems, and using experienced developers who can identify and fix technical issues.

  2. User adoption risks: Mitigation options for this risk include conducting user testing to identify usability issues, providing training to users on how to use the system, and continually monitoring user feedback to identify and address issues.

  3. Changes in Project Requirements: The project scope will be reviewed regularly to ensure that it remains aligned with the project goals. Any changes in project requirements will be carefully considered, and their impact on the project timeline and budget will be assessed before implementation.

  4. Security risks: Mitigation options for this risk include conducting a security audit, implementing secure coding practices, and regularly monitoring the system for any suspicious activity.

  5. Team turnover: To mitigate this risk, it is important to have a plan in place for succession and knowledge transfer, and to create a positive work environment that fosters employee retention.

Overall, the risks associated with the development of the food ordering system will be managed proactively to ensure that the project is completed within the given timeline, budget, and quality standards.

9. Resources:

Personnel:

  • Project manager: accountable for directing the system's development and execution.
  • Developers: programmers with expertise to create the website or mobile app as well as the software.
  • UX/UI Designers: To develop a user interface and user experience that is appealing.
  • Quality Assurance Tester: accountable for thorough testing to guarantee the system runs faultlessly and is bug-free.

Equipment:

  • Laptop that is powerful enough to run various code for development.
  • Web servers and database servers to host the food ordering system.

Software:

  • Development Resources: Visual Studio Code, HTML, CSS, JavaScript, PHP.
  • User Interface (UI) and User Experience (UX) Design: Software like Figma to design an intuitive and visually appealing interface.
  • Database management system: MySQL
  • Version control software : GitHub

Other Expenses:

  • Contingency

10. Technical Specification

  • Platform: The system should be web-based and accessible from any device with an internet connection, such as desktops, laptops, tablets, and smartphones. The system should be compatible with multiple operating systems and web browsers.

  • Programming languages and technologies: The system can be built using a combination of technologies such as HTML, CSS, JavaScript, PHP, MariaDB, and MySQL. The system can also use frameworks such as Laravel, React, Angular, and Vue.js.

  • User Interface: The user interface should be easy to navigate and visually appealing, with features such as menus, search bars, and order tracking. The system can use responsive web design to optimize the user experience on different devices.

  • Payment Gateway: The system should support different payment methods such as qr pay, online banking , and digital wallets. It should also integrate with a secure payment gateway to ensure the security of customer transactions.

  • Order Management System: The system should have an order management system that allows restaurants to manage their orders, such as confirming orders, updating the status of orders, and sending notifications to customers.

  • Integration: The system should have the capability to integrate with third-party services such as social media platforms and payment services to provide a seamless user experience.

11. Timeline and Deliverables:

Phase Milestones and Deliverables Resources Required
Phase 1: Planning and Analysis (Week 1-2) - Feasibility study report
- Project proposal document
- Project team assembled with assigned roles
- Project plan
- Feasibility study report templates
- Project management software
- Collaboration tools for remote communication
Phase 2: Design and Prototyping (Week 3-6) - SRS document
- User requirements and functional specifications document
- User interface design prototypes or mockups
- Database schema and architecture document
- Technical specifications and framework choices document
- Wireframing and prototyping tools
- Collaboration tools for remote communication
- Database design software
- Technical specification templates
Phase 3: Development and Testing (Week 7-11) - SDD document
- Fully functional food ordering system
- Payment gateway integration
- Order management system
- Test cases and bug reports
- Web development frameworks and tools
- Payment gateway integration software
- Testing software and tools
- Collaboration tools for remote communication
Phase 4: Documentation and Deployment (Week 12-14) - STD document
- Deployed food ordering system
- User manuals and maintenance plan
- Support documentation
- Documentation templates
- Web hosting or cloud platform
- User training materials
- Collaboration tools for remote communication

12. Conclusion:

In conclusion, a food ordering system is an essential tool that can help restaurants and customers streamline their food ordering process. By using a web-based platform with an intuitive user interface, the system can provide customers with an easy and convenient way to order food from their favorite restaurants.

The system can also help restaurants manage their orders efficiently, reducing the workload of staff and improving the accuracy of orders. Additionally, by integrating with third-party services such as social media platforms and payment services, the system can provide a seamless user experience.

Overall, a food ordering system can help businesses increase their sales, improve customer satisfaction, and reduce operational costs. With the right technical specifications and features, a food ordering system can be an excellent investment for any restaurant looking to stay competitive in today's digital marketplace.

Contribution 🛠️

Please create an Issue for any improvements, suggestions or errors in the content.

You can also contact me using Linkedin for any other queries or feedback.

Visitors