["- Dartpad Dartpad is a great way to get started with Flutter if you're a beginner. It's completely free and open-source,and it provides a code editor, debugger, and simulator out of the box. It's also highly customizable; you can change its theme or install plugins like ESLint and Dart Code Linter. DartPad also includes an iOS simulator that runs on your machine, but it doesn't require a device to test your apps. \uf0d8 Features: Customizable interface. It automatically tracks your score while it's calculating averages and percentages. Copy and pasteexpressions in Dartpad into your favorite IDE or editor \uf0d8 Pros: Accessible from any computer with a modern browser. There's a built-in console that makes testing code much easier than writing it out manually.Easy to share a link with anyone who wants to see your code in action. \uf0d8 Cons: Limited resources available for dart language. No native support. 101","- Firebase Firebase is a mobile and web application development platform that provides real- time data synchronization and messaging between Android, iOS, macOS, Unity, and web apps. It offers a cloudservice with various tools to develop applications. The Firebase SDKs are used for accessing the Firebase services from different programming languages like Java, Objective C\/Swift\/Cocoa Touch frameworks on Android devices. \uf0d8 Features: Real-time updates. Database integration Analytics and crash reporting. \uf0d8 Pros: It allows developers to build applications for both Android and iOS devices. It offers a wide range of features for customization, such as hosting images\/videos for an app. It comes with a built-in monitoring system that allows developers to monitor the performance of theirapplications. \uf0d8 Cons: It only provides limited querying capabilities. You cannot integrate many things into your project because they are dependent upon firebase servers. 102","- Vysor Vysor is a Chrome app that allows you to view and control your Android device from your computer. It's an excellent tool for debugging and testing your app without using an emulator. Vysor is also a greatway to show off your app to friends and family. \uf0d8 Features: Cast your Android screen onto a Chromecast connected to a TV. Allows you remote device control.Allows you to manage applications \uf0d8 Pros: It supports a huge number of devices. Free and easy to use. \uf0d8 Cons: It may be buggy if you run certain apps or play certain games. Sometimes the screen may turn blackwhile casting. 103","- Bitrise Bitrise is a continuous integration and delivery (CI\/CD) platform that allows you to automate yourapp development process and deliver apps at scale. Bitrise is easy to use and supports various programming languages, frameworks, and platforms. \uf0d8 Features: Custom workflows that allow you to define steps in your build process. Integration with third-party CI services and project source control providers like GitHub, GitLab,Bitbucket, and others. Mobile app deployment. Powerful automation capabilities. \uf0d8 Pros: It has built-in integration with GitHub. Bitrise offers Slack notifications so you can be notified when your builds are complete. Each project can have multiple environments configured. Cons: 104","Errors relatedto provisioning profiles and code signing. Building applications and their manual deployment is time- consuming. 105","- Codemagic Codemagic is a powerful IDE for Flutter development. With Codemagic, you can build and run Flutter apps on your local machine. You can also use Codemagic to debug Flutter apps. It's availablefor Windows, macOS, and Linux. \uf0d8 Features: Ability to select a range of files and then do things like search and replace text in those files. Testing management. Automatic testing. Pros: Free and Open Source Very easy to set up Autocompletion for any language you want (including HTML) Cons: Can't do configurations in a webapp. The documentations are very brief sometimes. It's difficult to set up the publishing pipeline if you don't use the basic workflow. 106","- TestMagic TestMagic (lambdatest) is a test automation tool for mobile app developers that allows free mobile apps apt to distribute and test iOS and Android beta releases. The TestMagic IDE lets you run your tests on thedesktop simulator or physical devices. The IDE also has an integrated debugger and crash reporter, so youcan easily find what went wrong when something does not work properly. Fetuers: Testing on real devices in the field. A clean and straightforward An emailing system for sending testers messages about new versions of your app. A bug reporting system allows users to enter details about the bugs they've found in the app. \uf0d8 Pros: It allows users to upload, download, and distribute beta builds in a few easy steps. Secure file sharing.Get fast feedback from their community about what features need improvement. It's quick and easy for both testers and developers alike. \uf0d8 Cons: You'll have less control over your beta builds because they aren't being tested on your equipment ornetwork. Since you're relying on other people to test your app, you should expect longer feedback cycles than ifyou were using an in-house team. 107","- OneSignal OneSignal is a mobile analytics tool for Flutter that helps you track your app performance and user behavior. It allows you to learn about how people use your app, which featuresare being used most often, and how often users are experiencing crashes or bugs. OneSignal provides analytics for Android & iOS, and web apps built with React Native & React JS. \uf0d8 Features: Allow multiple channel support that helps you send notifications to users via email, SMS, or otherservices. Supports advanced targeting to send specific messages to users in certain locations or onlythose who have recently purchased something etc. Allows multiple user roles. \uf0d8 Pros: While some other tools may have a free tier and then charge for higher levels, Onesignal offerseverything at no cost; it's free. The dashboard allows users to see exactly what they need to make sound decisions about theircampaigns and overall approach, making it easy to use. \uf0d8 Cons: You can't use onesignal for in-app notifications or push notifications. The free version of onesignal only allows you to send up to 100 notifications per month. 108","- The tools we choose 1. Android Studio 2. Visual Studio Code Flutter code 109","UX\/UI design 110","2.12 UX\/UI design What is UX\/UI design? UI (user interface) design is all about what users actually see on the application\u2019s screen \u2013 text, colors, backgrounds, icons, and moving elements like animations. That\u2019s why UI design overlaps with graphic design. The career path in UI design is quite similar to graphic design \u2013 graphic design education and experience in product development projects are a big plus for UI designers. UX (user experience) design focuses on studying how users move through all the different elements of the UI. For UX designers, it\u2019s all about the flow of the user experience and eliminating any sources of friction during these interactions. That\u2019s why UX designers need to know the methods and tools for studying user behaviors \u2013 and then translate their insights into design guidelines or principles. A UX designer is responsible for making products usable, enjoyable, and accessible to users. UX design steps in project creation process: (2) 111","UI design steps in project creation process: (2) Why use UX\/UI design in the project creation process? 1- It helps in increasing user interaction 2- It affects the usability of the product 112","Chapter 3: System Development Life Cycle 113","3.1 Introduction System Development Life Cycle. It is important to understand the specifications of the SDLC to properly develop software. In this chapter, wewill learn more about its benefit, how the SDLC works, and its various models or examples. Also, we will uncover more about what the various stages are, the successful SDLC Examples, and what Secure SDLC means. From the name that is given to it, we can deduce its definition, because it really illustrates the life cycle of the system. It is an approach or concept called a set of tools and techniques that are used to explain how to build astep-by-step system or how to develop an already existing system to bring the system to the highest quality thatmeets customer expectations To know that this cycle is the optimal cycle for the system, I answer the following: 1- A high quality system that meets customer expectations 2- Reaches completion within time and cost assessments 3- Works effectively and efficiently in the existing and planned IT infrastructure. 3.1.1 What is System Development and Life Cycle? We have learned that SDLC is a set of tools and techniques, and now let's get to know these tools in detail 114","Figure(1) From the figure(1) shown, it is clear that these tools are divided into seven each, but let us call it a stage. Eachstage deals with a major issue in the system and produces outputs. The outputs of one stage become inputs forthe next stage. 115","3.2 Stages Of The System Development Life Cycle. Here we briefly describe the stages of traditional SDLC: At each stage, we will learn about its inputs, what is required in it, and what is its final output 1- Planning (\u201cWhat do we want?\u201d In this stage of the SDLC, the team determines the cost and resources required for implementing the analyzed requirements. It also details the risks involved and provides sub-plans for softeningthose risks.) At this stage it is required: - Define the problem and scope of the system - Determine the objectives of the system - Determine the project schedule The output of this stage: A report on the cost, schedule, resources, and efforts of the project 116","2- Analysis (Understand the proposal put forth by the customer, and then gather their requirements for a suitable solution.) Required at this stage: - Collect, analyze, and validate information Determine requirements and prototypes for the new systemEvaluate alternatives and prioritize requirements The output of this stage: A Software Requirements Specification (SRS) document, which specifies the software, hardware, functionality,and network requirements for the system, is prepared at the end of this phase 117","3- System Design (\u201cHow will we get what we want?\u201d This phase of the SDLC starts by turning the software specifications into adesign plan called the Design Specification. All stakeholders then review this plan and offer feedback and suggestions.) Required at this stage: - design of application, network, databases, user interfaces, and system interfaces. - Transform the SRS document into logical structure, which contains detailed and complete set ofspecifications that can be implemented in a programming language. - Create a contingency, training, maintenance, and operation plan. - Review the proposed design. Ensure that the final design must meet the requirements stated in SRS document. The output of this stage: - prepare a design document which will be used during next phases. 118","At the design stage of the software development life cycle, you would notice two specific aspects. \uf0b7 UI and UX Design \uf0b7 Technical Architecture 119","4- Development (\u201cLet\u2019s create what we want. \u201c At this stage, the actual development starts. It\u2019s important that every developersticks to the agreed blueprint.) Required at this stage: Once the design document is completed, it is presented to the development team and converted into an actualsystem based on two main activities: - Building the technical structureBuilding database and software The output of this stage: The code runs on your own infrastructure with networks and servers or a managed web hosting platform 120","5- Testing (\u201cDid we get what we want?\u201d In this stage, we test for defects and deficiencies. We fix those issues until theproduct meets the original specifications.) we want to verify if the code meets the defined requirements. Required at this stage: 121","- Checking the functionality of your code - finding errors Testers assess the functionality, performance, and bugs and errors present in the software with the help oftesting like: - Functional testing: Unit testing, system testing, integration testing, interface testing, regression testing, alphatesting, beta testing, smoke testing, and more. - Non-functional testing: Performance testing, stress testing, load testing, volume testing, compatibility testing,security testing, usability testing, reliability testing, acceptance testing, 122","6- Implementation (\u201cLet\u2019s start using what we got.\u201dAt this stage, the goal is to deploy the software to the production environmentso users can start using the product.) Required at this stage: - put the actuall product into production and released in a business environment.(this allows any final mistakesto be caught before releasing the product) The output of this stage: the software is deployed 7- Maintenance (\u201cLet\u2019s get this closer to what we want.\u201d we need to update and advance the software.) Required at this stage: - the software is maintained so that it stays effective and relevant. - Tweaks made so that it remains a viable solution that is free of bugs. The output of this stage: this provides a common language and faster handoffs between server and client. 123","3.3 Methodologies SDLC Methodologies After we presented the stages of SDLC and got to know each stage in some detailNow the question is, what is the appropriate methodology to use these stages??! In fact, SDLC has 6 modes, one of which can be used as per your convenience Now we will present these methods in detail 1- Agile It first appeared in 2001. It has since become the de facto industry standard. There are companies that prefer this approach more than others, to the extent that they implement it on non- technology projects Simply put, this system works on all stages, but it is not a stage by stage, there is no advantage in it that it can return to the previous stage at any time to amend a mistake or develop something, andthe other advantage is that it takes the opinion of stakeholders after the completion of each stage to provide feedback. 124","2- Lean The Lean model for software development is inspired by \\\"lean\\\" manufacturing practices and principles. The Lean process is about working only on what must be worked on at the time, so there\u2019s no room formultitasking. The Agile model is actually a Lean method for the SDLC, but with some notable differences. One is how eachprioritizes customer satisfaction: Agile makes it the top priority from the outset, creating a flexible process where project teams can respond quickly to stakeholder feedback throughout the SDLC. Lean, meanwhile, emphasizes the elimination of waste as a way to create more overall value for customers \u2014 which, in turn, helps to enhance satisfaction. 125","126","3- Waterfall considered the oldest of the structured SDLC methodologies. Some experts argue that the Waterfall model was never meant to be a process model for real projects. It\u2019s also a very straightforward approach: finish one phase, then move on to the next. No going back. Each stagerelies on information from the previous stage and has its own project plan. The downside of Waterfall is its rigidity. Sure, it\u2019s easy to understand and simple to manage. But early delayscan throw off the entire project timeline. With little room for revisions once a stage is completed, problems can\u2019t be fixed until you get to the maintenance stage. This model doesn\u2019t work well if flexibility is needed or ifthe project is long-term and ongoing. 127","4- Iterative The Iterative model is repetition incarnate. Instead of starting with fully known requirements, project teams implement a set of software requirements, then test, evaluate and pinpoint further requirements. A new versionof the software is produced with each phase, or iteration. Rinse and repeat until the complete system is ready. Advantages of the Iterative model over other common SDLC methodologies is that it produces a working version of the project early in the process and makes it less expensive to implement changes. One disadvantage:Repetitive processes can consume resources quickly. 128","129","5- Spiral One of the most flexible SDLC methodologies, Spiral takes a cue from the Iterative model and its repetition. The project passes through four phases (planning, risk analysis, engineering and evaluation) over and over in afigurative spiral until completed, allowing for multiple rounds of refinement. The Spiral model is typically used for large projects 130","3.4 Benefits Of SDLC. What Are the Benefits of SDLC? you can measure the effectiveness of your software development process and improve it. Here are the benefits of SDLC in detail. 1- Clear Goals SDLC provides a framework with clearly defined goals and plans for each phase and produce deliverableswithin a set timeline. As a result, the process completes systematically without confusion or resource wastage. 2- Faster Process When the team knows what to do next with detailed guidelines, they can perform their tasks without doubts. Ithelps accelerate the workflow and approval process so they can jump to the next stage. This way, the overall software development process becomes faster, from building to testing and deployment.Hence, it improves your time-to-market and helps you get the upper hand in the competition. 3- Minimum Cost Every project is assigned a feasible cost estimation during the planning phase of SDLC. It also outlines how to distribute resources at each stage, including the team members required, time allotted, tools necessary, and otherfactors needed to complete the tasks. This comprehensive cost estimation at all stages results in a compounding action that helps the 131","team achieve thegoal within the budget. 4- High-Quality Products SDLC aims to produce high-quality software products while keeping the budget and time minimum. With clear goals, the right resources to work with, and transparency to collaborate, the team can developproducts faster and still have sufficient time to iterate them and improve their performance, features, andfunctionality. All these factors help you produce a high- quality product that your customers love. 5- Customer Satisfaction Customer satisfaction is key. SDLC\u2019s first step is to understand the complete requirements of your customersbefore you actually move ahead to develop and deploy it. 132","System Development Life Cycle In our system 133","3.5 System Development Life Cycle In our system 3.5.1-Planing 1-Project goal \uf0b7 Providing many services in one system. \uf0b7 Helping people access the service they want in the fastest and easiest way. 2-Scope Nowadays, one of the biggest transformations using technologies is the online shopping. It also has the same size of the market as a general physical market possesses. So, we developed this project to help people in Damietta to manage their Buying and selling process and help people to find the closest place that provide them with the service they want and can use their location for good suggesting. This project can be applied globally and applied to the entire world instead of the space of our small city . 3-Process \uf0b7 At first, we decided the idea of the project \uf0b7 We search whether there were similar projects or not, and whether they were implemented and how were they implemented? \uf0b7 The project requirements and the role of everyone on the team are defined \uf0b7 The tools used in the project have been identified \uf0b7 Every member start implementing his part of work 4-Expected Deliverables \uf0b7 Success in the process of providing all the services that a person will need. \uf0b7 Success in requesting any service in the fastest and easiest way 5-Resources Laptops , smartphones , PCs Customers , sellers , Doctors ,Team members Physical Locations of stores , location of user , location of Human doctors Locations 6 hours weekly Work Hours 134","6-Project Deadlines task Description Deadline Commitment to deadlines Task1 Writing chapter 1 15 November \u2013 20 November Task2 Writing chapter 2 20 November \u2013 25 November Task3 Writing chapter 3 20 November \u2013 30 November Task4 Documentation 1 December \u2013 3 December formatting and organization Task5 Presentation work 1 December \u2013 5 December Task6 Responding to our 8 December supervisor feedback (editing our documentation) Task7 Writing chapter 4 6 December \u2013 15 December (The first two phases of a SDLC in our project) 135","7- Project Stakeholders 136","Supervisor 1) Team Stakeholders Team leader Leader assistant Prof. Dr. Ahmed Mohammed Rabie Team members Ebrahem Mohamed Eldesoky Mariam Alaa Badr Eman Elsayed Abo Elenin Mariam Abdelftah Soliman Nada Khaled Slama Norssine Mohamed Abdulbarri Nahla Anwar Ibrahem Nourhan Ibrahim Sharshera Mahmoud Yahya Elhamamsy Ahmed Hesham Empapy administrator 2) Project users and their roles Users a person responsible for maintaining website. Developer tester \uf0b7 the user \uf0b7 store owner is responsible for programming code that tells websites and web applications how to operate. is person that tests software for bugs, errors, defects or any problem that can affect the performance of website or an application 137","3.5.2 Analysis: 1-Requirements - Functional - Non-Functional 1-Functional Requirements -Management Login \uf0b7 Admin can login by Email \uf0b7 Reset password. Take Backup Manage backup for the system continuously Add Advertisements Control show or hide advertisements Control and permission \uf0b7 Add or delete or modify or update or check user\u2019s account\u2019s information. \uf0b7 Give permission for each user. Provide Technical support Show messages of problems and modification requests in the system from employees. -User Login \uf0b7 Can login by Email 138","\uf0b7 Reset password. Looking for some locations Looking for the nearest place with a high rating to meet his needs -Trader Login \uf0b7 Can login by Email \uf0b7 Reset password. Add its geographical location, service, and data Defines his service and provides it with his data to facilitate access and meet the customer's needs 2-Non-Functional Requirements Operational \uf0b7 Cross platforms. \uf0b7 The system will be user friendly, consistent, intuitive and descriptive UI. \uf0b7 The system should have a maximum of 2:3 clicks to reach any content. \uf0b7 The system should support notifications. \uf0b7 The system should be evolvable, scalable, testable and maintainable. \uf0b7 The system should be interoperable with secondary university systems. Performance \uf0b7 Quick ask & response (under 2 sec). \uf0b7 The system should be available 24 hours a day. \uf0b7 20 minutes are specified daily on a fixed date [3 am (low-intensity hours)] to maintain and update the system. Security \uf0b7 The system must protect the user\u2019s privacy. 139","\uf0b7 Every user should have a user-customizable visibility policy for his\/her personal information such as email. \uf0b7 The system will be secure and cannot affect, harm, damage the user or all users in general or their devices. 2-Context Diagram 140","References: [1] Dr\\\\ Amira Seddik ElZeiny, Lecture Notes In Web Pages Analysis and design, Faculty of Computers and Information,Damietta University,2020, [2] SYNONYMS. Web Development. August 31, 2020.techopedia.https:\/\/www.techopedia.com\/definition\/23889\/webdevelopment#:~:text=Web%20development%20is% 20also%20kno wn%20as%20website%20development%2C,that%20enables%20website%20functionality%2C%20per%20the%20owner %27s%20req uirements [3] Astari S. What Is HTML? Hypertext Markup Language Basics Explained. Oct 05, 2022. hostinger.https:\/\/www.hostinger.com\/tutorials\/what-is-html [4] Priya Pedamkar. Introduction to Versions of Html. 1993. educba. https:\/\/www.educba.com\/versions-of-html [5] pulkitagarwal03pulkit. Advantages and Disadvantages of HTML. 26 May 2022. geeksforgeeks.https:\/\/www.geeksforgeeks.org\/advantages-and-disadvanatges-of- html [6] Top Features of HTML You Must Know. August 22, 2022. Interviewbit.https:\/\/www.interviewbit.com\/blog\/features-of- html [7] Art\u016bras B. What Is CSS and How Does It Work? Oct 04, 2022. hostinger.https:\/\/www.hostinger.com\/tutorials\/what-is- css [8] https:\/\/www.javatpoint.com\/types-of-css [9] pulkitagarwal03pulkit. Advantages and Disadvantages of CSS. 23 Nov 2020. geeksforgeeks.https:\/\/www.geeksforgeeks.org\/advantages-and-disadvantages-of- css [10[Taha Sufiyan. An Introduction to JavaScript: Here Is All You Need to Know. Oct 28, 2021.simplilearn. https:\/\/www.simplilearn.com\/tutorials\/javascript- tutorial\/introduction-to-javascript [11] Chris Northwood. The Full Stack Developer: Your Essential Guide to the Everyday Skills Expected of a Modern Full StackWeb Developer. Manchester, UK. Apress. 2018. [12] PREMMAURYA. JavaScript Basic Syntax. 23 Nov, 2022. geeksforgeeks. https:\/\/www.geeksforgeeks.org\/javascript- basic-syntax\/ 141","[13] ALEXANDRE OUELLETTE,What is Bootstrap: A Beginner's Guide, UPDATED ON NOVEMBER 28, 2022 , careerfoundry.https:\/\/careerfoundry.com\/en\/blog\/web-development\/what-is-bootstrap-a-beginners-guide\/#1-why-is- bootstrap-the-go-to- for-web-developers [14] Jordana A., What Is Bootstrap?, Jul 11, 2022, hostingerhttps:\/\/www.hostinger.com\/tutorials\/what-is-bootstrap\/ [15,16,17] Digital Delivery, What is Flutter and Its Advantages?, July 20, 2022,adservio,https:\/\/www.adservio.fr\/post\/what-is-flutter-and-what-are-its-advantages [18] Rashi Jaitly,Top 21 Flutter App Development Tools to Know About in 2022,21 Jun, 2022,solutelabs,https:\/\/www.solutelabs.com\/blog\/top-flutter-app-development-tools 142"]
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142