CHAPTER I: INTRODUCTION 1.1. Background The internship program let me to engage in web application development to create invoice management system which has to be dynamic web sites combined with server side programming which provide functionalities such as bill payment receipt, recording the total sale and calculating the profit and loss of the organization. To create invoice management system XAMPP server lets me to connect with the localhost which is free and open source, phpStorm helps me for coding, . Google Chrome help me to run my web page via localhost using XAMPP server. Google Chrome is fast and more convenient to use for web sites and it helps me to connect localhost server via XAMPP server and GIT helped me to share and exchange code with other developers easily. It helps me find the recent changes code, it helps me to backup my code easily to a remove server and it helps me to recover code which is accidentally deleted code. Invoice management system is specially built for the restaurant to keep the record of total sales, bill printing, calculating the profit and loss (monthly or yearly) also it lets you to find the loyal customer through the help of customer details. Invoice management system is fast, convenient, reliable and secured web application development which is worked through connecting the internet via web browser. . 1.2. Objective The specific objectives of the internship are as follows: To create an invoice management system To perform web hosting for invoice management system. Maintain client applications and provide required update and modify applications 1 1.3. Methodology 1.3.1. Organization Selection Selection of organization for the internship program is always a crucial task. Being an IT student, I am interested in software development. As an intern, I wanted to be in the organization where my interest will be fully appreciated. So I select Web Developers International Pvt. Ltd. as my destination. At very beginning I started to search for an internship and make a list for suitable organization and then drop my CV (Curriculum Vitae) to many different organization. Finally, I selected Web Developers International Pvt. Ltd. as my destination Web Developers International Pvt. Ltd. was a good choice as it had provided me a very good learning environment. 1.3.2. Placement During the internship tenure at Web Developers International Pvt. Ltd, I was placed in Back End Developer and given task to look after the related task in Back End Developer under the supervision of Mr. Uttam KC (Project Manager) with the access to the required information and resources for the software development. 2 Fig: 1.3.2. Job Placement position 1.3.3. Duration The requirement duration of internship for BIM, affiliated to Tribhuvan University, demands the time span of eight weeks but according to the organization time span for an internship period is twelve weeks (3 months). So, I worked for the following time frame: Start date: May 8th, 2019 End date: August 8th, 2019 Duration: 3 months Office hour: 10 am- 5pm 3 1.3.4. Activities We often visit to the organization in internship period to know about the existing system and analyze the new requirement. Meetings were conducted time to time with the authorize officials and staff members. After collecting all the relevant information, we start generating overall idea about the system, and prepare software as per the organizations requirement. The activities we have to perform are as follow: We often assigned the task by the project manager. The project manager assign task to team leader and based on the task team leader reassign the task to us. The task contains the problem that need to be solved or list of activities that need to be done along with the design of it. We start generating overall idea as per the assigned task, and start to code it as per the task requirement. The list of activities done are as follows: Adding the new features in the project Display data on the web page Deployment of web interface Develop/Deployment of reporting interface etc. The tools used for performing these activities are: Programming language/script and databases PHP: to develop overall interface and functionality JQuery: to give functionality and validation HTML: for designing CSS: for styling JavaScript: for functionality MySQL: to interact with database IDE/FTP/VPN Sublime: IDE for PHP/HTML/CSS/jQuery/JavaScript 4 CHAPTER II: INTRODUCTION OF INDUSTRY 2.1. Introduction to IT Industry Information Technology (IT) refers to the application of computers to manage information that includes storing, retrieving, manipulating and transmitting data or information. The term IT encompasses the computer software, hardware and related devices. Web programming is one of the web based application refers to the writing, markup and coding involved in Web development, which includes Web content, Web client and server scripting and network security. The most common languages used for Web programming are XML, HTML, JavaScript, Perl 5 and PHP. The IT industry is one of the fastest growing industries. Organizations specializing in computer hardware, software, internet, e-commerce, information, security, electronics, semiconductors, and many more are growing day by day. The IT industry has rapidly changing environment which is why IT professionals need to constantly update themselves according to the changes occurring in industry. The use of information technology in businesses has grown drastically and has now become a necessity for business to survive. Organizations today have separate IT departments or divisions to handle the IT side of business. With the growth of IT industry, careers in IT has grown as well. An individual with the right skill set and agility can highly benefit from the changing IT industry. 2.2. Importance of IT With the help of IT, communication has also become cheaper, quicker and more efficient. The internet has also opened face to face direct communication from different parts of the world IT has helped computerize the business process thus streamlining business to make them extremely cost-effective money making machines. This in turn increases productivity which ultimately gives rise to profit that means better pay and less strenuous working condition 5 IT has made it possible for businesses to be open 24*7 for businesses all over the globe IT is the creation of new and interesting jobs. Computer programmers, System analyzers, Hardware and Software developers and Web designers are just some of the many new employment opportunities created with the help of IT Information technology is used for storing, protecting, processing, securing, transmitting, receiving and retrieving information. 2.3. Scope of IT Modern society is becoming more and more reliant on the use of technology and this has indeed created the demand of expert in the field of information and technology. Thus, IT has become one of the most popular subject choices for the students. Moreover, the ever-dynamic world of information and Technology Communication (ITC) requires subtle and comprehensive expertise in computer technology, telecommunication and multimedia as well as in the knowledge of networks. Modern world has witnessed the IT revolution due to the advancement of knowledge in these disciplines and these disciplines are closely aligned to one another. IT professionals who can make a difference are keenly sought after by different types of leading organization throughout the world. So, the prospect of careers in IT is reasonably good. IT graduates can work in different industry like software industry, financial institution, health, corporate organization etc. The following are the list of common careers for IT graduates. SEO/SMM Expert System Analyst Graphic Designer Project Manager Software Developer Web Developer Web Designer 6 MySQL QA (Quality Assurance) Officer Technical Writer 2.4. History of IT in Nepal The history of IT and computers in Nepal dates back to not more than a couple of decades. However, the growth of Information Technology here has been rapid. The major leap towards the advancement in this field started when the first computer IBM 1401, a second generation mainframe computer was used in the 1971 census, although an electronic calculator called ‘Facid’ was used before in the 1961 census. Again, another second generation mainframe computer ICL 2950/10 was used for the 1981 census. The credit for introducing internet among the people mainly goes to the private sector. Although the internet was initially limited only to email services, in 1995, a company Mercantile Communications finally started the internet services in the country. In 1998, Nepal Telecommunications Authority (NTA), a telecommunications regulatory body, was formed as per the Telecommunications Act 1997. NTA holds the power to issue license to the Internet Service Providers (ISPs) in Nepal. Some of the major licensed ISPs in Nepal are: • Mercantile Communications Private Limited • Worldlink Communications Private Limited • Nepal Doorsanchar Company Limited • Broadlink Network and Communications Private Limited • Hotlink Nepal Private Limited The full list of the ISPs can be found here. Meanwhile, the number of internet users has increased by considerable amount. While it was just about 0.2% of the total population in the year 2000 who had access to internet, it increased to about 2.2% by the year 2010 (Source : ITU). The advancement in technology due to the advent of smartphones and tablet PCs has helped to increase the 7 public awareness and raise their interest towards technology to a great extent. And it can be felt in the latest statistics of internet users in the country (for the year 2012). The number, according to NTA, has increased to more than 4 million now (which also include the number of people accessing internet via GPRS and CDMA). Although there are a lot of encouraging signs for Nepal in the field of IT, the current quality of IT services and education still leaves a lot to be desired. Considerable amount of work needs to be done and the initiative should be taken early if we are to level and keep up with the world in the field of technologies. 21st century demands globalization. Hence, investment and development in the field of technology and computing cannot be overlooked to achieve it. 2.5. Opportunities and Challenges Some Opportunities are: Technological advances has resulted in dramatically lowering costs of electronics Borderless world because of globalization New applications have given rise to new ways of entertaining (i.e. online gaming) and socialization (i.e. chat rooms) Machine learning and VR has given a new scope in IT Online course and certification has given opportunities to learn new technology remotely Remote computing in getting its way. Some Challenges are: Skilled manpower is outsourcing to the countries Latest technology updates Network security is by far greatest concern for many companies Insufficient allocation of Budget. 8 CHAPTER III: INTRODUCTION OF THE ORGANIZATION 3.1. Introduction to Web Developers International Pvt. Ltd Web Developer International Pvt. Ltd. is a professional recognized company and experience in designing and developing that best matches your requirements. Web Developers International is the company established in 2014. It is located in Dillibazar, Kathmandu. During the starting phase of establishment, the company was based on the designing work primarily for around 3 years. Now at the current time it is involved in mobile web application development. Talking about Web Developer International is a company with various different departments i.e. designing and all kinds of printing, Web Developers International is also increasing its department in the field of Digital Marketing and Mobile Application. The company established in 2014, since 2014 it operates in Nepal as a Company name Web Developers International Pvt. Ltd. Till the date the company has satisfied many customer with its product and services. (Kc, 2014) 3.2. Objective of the Organization To provide smart solution to the client To provide customer oriented service To establish as a leading software institution of Nepal. 3.3. Value of Organization Partnership and Responsibility Innovation and will to change Economic Efficiency Result Oriented, Leadership Victory Hardworking and dedicated staffs. 3.4. Global Presence of Organization Nepal (Register as Web Developers International Pvt. Ltd) 9 3.5. Product and Types Web Development Application Desktop based Application Graphics Designing (image, logo, web designing) Mobile Application Digital Marketing 10 CHAPTER IV: ANALYSIS OF ACTIVITIES DONE / PROBLEM SOLVED 4.1. Brief Description of Activity Done Activities performed during internship period are analyzed in detail below: 4.1.1. Web Application Development During the internship period, the company assigned me a job to create invoice management system which has to be dynamic web sites combined with server side programming which provide functionalities such as bill payment receipt, recording the total sale and calculating the profit and loss of the organization. (Kohan, n.d.) 4.1.2. Tools Used Various tools were used during internship. Different tools help to perform as per the requirement of the client. Tools which were being used are listed as XAMPP Server XAMPP is free and open source Cross-Platform Web Server Solution Stack. It comes with Apache Web Server, MYSQL, PHP and Perl Programming Language. XAMMP allows me to work or test my work without the use of internet. XAMMP allows me to treat a localhost like a remote host by connecting using an FTP. Google Chrome Web Browser is used to run the system. Google Chrome is a freeware web browser developed by Google. Google Chrome help me to run my web page via localhost using XAMPP server. Google Chrome is fast and more convenient to use for web sites and it helps me to connect localhost server via XAMPP server. 11 GIT GIT is a version control system for tracking changes in computer files and coordinating work on those files among multiple peoples. GIT helped me to share and exchange code with other developers easily. It helps me find the recent changes code, it helps me to backup my code easily to a remove server and it helps me to recover code which is accidentally deleted code. (Elder, 2016) PhpStorm PhpStorm is a commercial, cross platform IDE for PHP built on JetBrains’ IntellJ IDEA platform. I prefer phpStorm because phpStorm is a PHP IDE that actually ‘gets’ your code. It supports php 5.3/5.4/5.5/5.6/7.0/7.1/7.2, provides on-the-fly error prevention, best autocompleting and code refactoring. PhpStorm provides powerful built-in tools for debugging, testing and profiling my application. (git, n.d.) 4.2. Basic Functionalities of System Dynamic web sites combined with server side programming Insures that other developers can understand and become familiar with the code in a short time Add, remove, update the data and record from the from the system User management where user can create invoice and view the menu item Creates the best environment for multiple users to work on the same system. 12 4.2.1. Relational Model Fig: 4.2.1 Relational Model This relational model shows that, first we record the details of the customer and we receive the order of the customer. The product is selected if the customer ordered the order items and invoice is made and finally financial transaction is made in any types like eSewa or cash. 13 4.2.2. Use Case Diagram Fig: 4.2.2 Use Case Diagram 14 4.2.3. Use Case Description Table 4.2.3.1 Add User use case identifier UC1: Add User Description Admin can add new user to integrate with the system Primary Actor Admin success User can login to the system Failure User cannot login to the system Table 4.2.3.2 List User use case identifier UC2: List User Description Admin can view the list of new users in the system Primary Actor Admin success Admin can view the list of users Failure Admin cannot view the list of users Table 4.2.3.3 Create Category use case identifier UC3: Create Category Description Admin can create new category in the system Primary Actor Admin success Admin can insert new item in the category Failure Admin cannot insert new items in the category Table 4.2.3.4 View Category use case identifier UC4: View Category Description Admin can view the created category in the system Primary Actor Admin success Admin can view the list of category 15 Failure Admin cannot view the list of category Table 4.2.3.5 Add Menu Item use case identifier UC5: Add Menu Item Description Admin can add new menu item in the system Primary Actor Admin success Admin can view new added items in the system Failure Admin cannot view the new added items in the system Table 4.2.3.6 View Menu Item use case identifier UC6: View Menu Item Description Admin can view the new items in the system Primary Actor Admin success Admin can view the list of items Failure Admin cannot view the list of items Table 4.2.3.7 Create Invoice use case identifier UC7: Create Invoice Description Admin can create Bill Invoice for the customer Primary Actor Admin success Admin can create the new invoice for the customer Failure Admin cannot create the invoice for the customer Table 4.2.3.8 Invoice Details use case identifier UC8: Invoice Details Description Admin can view the details of the invoice and can edit it Primary Actor Admin success Admin can view the details of the invoice Failure Admin cannot view the details of the invoice 16 Table 4.2.3.9 Create Inventory use case identifier UC9: Create Inventory Description Admin can add new inventory in the system Primary Actor Admin success Admin can able to add new inventory items Failure Admin cannot add new inventory items Table 4.2.3.10 Inventory Details use case identifier UC10: Inventory Details Description Admin can view the details of the inventory from the system Primary Actor Admin success Admin can view the list of inventory Failure Admin cannot view the list of inventory Table 4.2.3.11 Login use case identifier UC11: Login Description User can login to the system Primary Actor User success User can able to integrate with the system Failure User cannot integrate with the system Table 4.2.3.12 View Menu Item use case identifier UC12: View Menu Item Description User can view the list of items in the system Primary Actor User success User can view the list of items Failure User cannot view the list of items 17 Table 4.2.3.13 Create Invoice use case identifier UC13: Create Invoice Description User can create Bill Invoice for the customer Primary Actor User success User can create the new invoice for the customer Failure Admin cannot create the invoice for the customer Table 4.2.3.14 Invoice Details use case identifier UC14: Invoice Details Description User can view the details of the invoice and can edit it Primary Actor User success User can view the details of the invoice Failure User cannot view the details of the invoice 18 4.2.4. Activity Diagram Fig: 4.2.4 Activity Diagram (Pankaj, 2015) This activity diagram shows the activity perform by the user. When user login to the account and verify the customer order details and views the menu item and configure its item code and process to create the invoice and then receive the amount of the order print the invoice for the customer and records the total sales. 19 4.2.5. Sequence Diagram Fig: 4.2.5 Sequence Diagram (Burrows, 2019) This Sequence diagram shows that the sequential order performed by the user in an organization when user login to the system and views the menu item and create the invoice order and receive payment and print out the invoice of the order details and logout from the system. 20 CHAPTER V: CONCLUSION / LESSONS LEARNT 5.1. Conclusion It was a wonderful experience to work in Web Developers International with highly professional group of people. It was a great opportunity to learn about the professional environment and develop a professional attitude by comparing it to our studies Bachelor of Information Management (BIM). Invoice management is an essential part of any business. Whether you are sending or receiving invoices, it is important that you use an efficient and integrated system to make sure that you keep everything organized. The practice of invoice management has become much easier with the advent of online systems. Keeping your invoicing procedures streamlined will allow you to keep your finances up to date, protect your credit and pay taxes easier. When you stay on top of your bills, you can spend less time organizing paper and get back to business sooner. 5.2. Lessons Learnt As an intern in Web Developers International, it become very helpful for me since it had provided me the opportunities to acquire the practical knowledge about the working procedures in the organization at a real time. I had learnt how the company works on the daily basis. Being an organization and experiencing in-job atmosphere exposed me to real organization which was way different then the theoretical organization with which I was familiar with. Everything, it be principles, guiding procedures, organizational culture, motivation, stress handling, all were so different. Some of lesson that I was able to learn within my internship period are as follows: Create custom menu, specialized page templates Add theme features by admin to record data of employee, item, category and others Edit record data of add features Search form for the recorded data in the system Time and punctuality is an important factor to every of organization success 21 Problems bothering staffs should be eliminated as soon as possible The working procedure to the organizational work structure must be updated as per as the organizational requirements Proper communication in between organizational members is very much important. 22 REFERENCES Burrows, P. W. (2019). Sequence-diagram. Retrieved from www.visual-paradigm.com: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/sequence diagram/ Elder, R. (2016, 12 15). what-is-git. Retrieved from https://blog.robertelder.org: https://blog.robertelder.org/what-is-git/ git. (n.d.). Retrieved from https://git-scm.com/: https://git-scm.com/about Kc, U. (2014). Web developer international. Retrieved from http://www.wditechnepal.com: https://wditechnepal.com/about-us/ Kohan, B. (n.d.). web-application-development. Retrieved from https://www.comentum.com: https://www.comentum.com/guide-to-web-application-development.html Pankaj, l. (2015, febrary 19). Slide Share. Retrieved from https://www.slideshare.ne: https://www.slideshare.net/lokendra2500/activity-diagram-44880440 Phpstorm. (n.d.). Retrieved from https://www.jetbrains.com/phpstorm/: https://www.jetbrains.com/community/education/?fromMenu 23