E N D
CHAT APP CHAT APP
INTRODUCTION The objective of this Project was to build Chat App with JavaScript and Node.js in order to chat among friends, colleagues, family and teachers. Also, the motivation of this project was to design and develop a Chat App for the company Solution Online that uses it for demonstration to students in high schools in a developing country.
OBJECTIVE The objective of this Project was to build Chat App with JavaScript and Node.js in order to chat among friends, colleagues, family and teachers. Also, the motivation of this project was to design and develop a Chat App for the company Solution Online that uses it for demonstration to students in high schools in a developing country. The frontend of a website is everything the user either sees or interacts with when they visit the website. It is responsible for the total look and feel of an online experience. So, the other purpose of project is to improve the number of users by using different design patterns, positioning and color combination to attract user.
SCOPE OF WORK: The scope of Chat App in the near future looks to be ever-increasing and growing, because the trend has really caught on here. I had taken a wide range of literature review in order to achieve all the tasks, where I came to know about some of the products that are existing in the market. I made a detailed research in that path to cover the loop holes that existing systems are facing and to eradicate them in our application. In the process of research I came to know about the latest technologies and different algorithms.
REQUIREMENTS This software is designed to be light-weighted so that it doesn’t be a burden on the machine running it. This system is being build keeping in mind the generally available hardware and software compatibility. Here are the minimum hardware and software requirement for Chat App.
HARDWARE In hardware requirement we require all those components which will provide us the platform for the development of the project. The minimum hardware required for the development of this project is as follows-- ● Pentium IV processor or higher ● 2 GB RAM (or above) ● 40 GB or more HARDDISK
SOFTWARE Software can be defined as programs which run on our computer. It act as petrol in the vehicle. It provides the relationship between the human and a computer. It is very important to run software to function the computer. Various software are needed in this project for its development. ● OS-Windows 7/8/10/11 ● Browser (Chrome, Microsoft edge, Firefox) ● Pycharm IDE or VS code
FRONT END DESCRIPTION HTML is an acronym which stands for Hyper Text Markup Language which is used for creating web pages and web applications. Let's see what is meant by Hypertext Markup Language, and Web page. Hyper Text: HyperText simply means "Text within Text." A text has a link within it, is a hypertext. Whenever you click on a link which brings you to a new webpage, you have clicked on a hypertext. HyperText is a way to link two or more web pages (HTML documents) with each other. Markup language: A markup language is a computer language that is used to apply layout and formatting conventions to a text document. Markup language makes text more interactive and dynamic. It can turn text into images, tables, links, etc. It is a programming language used to describe the structure of information on a webpage. Together, HTML, CSS and JavaScript make up the essential building blocks of websites worldwide, with CSS controlling a page’s appearance and JavaScript programming its functionality.
Why JavaScript is used? JavaScript is the most popular programming language for both client-side and server- side to make interactive web pages. It is mainly used to develop websites and web- based applications. Creating Interactive Websites: JavaScript is used to make the web pages dynamic and interactive. It means using JavaScript, we can change the web page content and styles dynamically. Building Applications: JavaScript is used to make web and mobile applications. To build the web and mobile apps, we can use most popular JavaScript frameworks like – ReactJS, React Native, Node.js etc. Web Servers: We can make robust server applications using JavaScript. To be precise we use JavaScript frameworks like Node.js and Express.js to build these servers. Game Development: JavaScript can be used to design Browser games. In JavaScript, lots of game engines available that provide frameworks for building games.
BACK END DESCRIPTION NODE JS: As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. In the following "hello world" example, many connections can be handled concurrently. Upon each connection, the callback is fired, but if there is no work to be done, Node.js will sleep.
IDE : VISUAL STUDIO CODE: Visual Studio Code is the part of visual studio family which is developed by Microsoft in November 2015. It is based-on Electron framework which is used for Node.js (node java script). It is written in TypeScript, JavaScript and CSS.
DESCRIPTION OF USED MODEL The Waterfall Model The Waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design (validation), Construction, Testing and Maintenance.
TESTING Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality. SOFTWARE TESTING Software Testing is the process of executing a program or system with the intent of finding errors. Or, it involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Software is not unlike other physical processes where inputs are received and outputs are produced. Where software differs is in the manner in which it fails. Unlike most physical systems, most of the defects in software are design errors, not manufacturing defects.
To improve quality ----- As computers and software are used in critical applications, the outcome of a bug can be severe. Bugs can cause huge losses. For Verification & Validation (V&V) ----- Another important purpose of testing is verification and validation (V&V). It is heavily used as a tool in the V&V process. Testers can make claims based on interpretations of the testing results, which either the product works under certain situations, or it does not work.
TYPES OF SOFTWARE TESTING Black-box testing White-box testing Unit testing System testing End-to-end testing Install/uninstall testing Security testing Compatibility testing Alpha testing Beta testing
PORTTITOR SEM Pellentesque semper enim eu orci efficitur pretium. Proin non sapien elementum, convallis diam sed, dapibus ipsum. Maecenas ut massa ornare, consectetur lorem eu, feugiat purus. Aenean elementum nisl id eros luctus tincidunt. Nunc ac metus eget massa imperdiet molestie. Etiam faucibus turpis eget laoreet iaculis.
BENIFITS 1. Faster support: 11. Increased Productivity 2. Real-time text examine: 12. File Storage and Sharing 3. On a browser site: 13. Employee Engagement Privacy 4. Purchasing solution: 14. Saves Money 5. File transfer: 15. Easy to Setup 6. Mobile Messaging Integrations: 16. Less Troublesome 7. 24/7 Support Service: 17. Build strong customer relationships 8. Familiarity 9. Convenience 10. Segmented Target Advertising
LIMITATION 1. Internet Access 2. Communication difficulties: 3. Virus Risk: 4. Doesn’t work well for older demographics 5. The need to be online to offer support: 6. First response time expectations are high 7. Identity verification 8. Online Trolls 9. Peak hours
CONCLUSION The chat app provides a better and more flexible chat system. Developed with the latest technology in the way of providing a reliable system. The main advantage of the system is instant messaging, real- world communication, added security, group chat, etc. This application may find the best demand in the market for most organizations that aim to have independent applications. Node JS is one of the most popular and powerful back-end technology around the world, today. It offers excellent performance in any application. In addition to this, Node JS offers good compatibility on different platforms, browsers and devices. After developing the Chat App, it is clear that Node JS is an easy to learn and convenient to implement. Socket.io played a crucial role in providing real-time database backend service. It is easy to use because extra code writing for the server is not required while it is a ready-made API. Visual Studio Code was an excellent IDE in this project. I conclude by saying that this thesis application is a simple project but needs development in the future if the developer gets an opportunity to put effort into it.