Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore draft

draft

Published by hiransidh, 2022-04-11 17:15:47

Description: draft

Search

Read the Text Version

Most Python implementations (including C Python) include a read–eval–print loop (REPL), permitting them to function as a command line interpreter for which the user enters statements sequentially and receives results immediately. Other shells, including IDLE and I Python, add further abilities such as autocompletion, session state retention and syntax highlighting. As well as standard desktop integrated development environments, there are Web browser-based IDEs; Sage Math (intended for developing science and math related Python programs); Python anywhere, a browser-based IDE and hosting environment; and Canopy IDE, a commercial Python IDE emphasizing scientific computing. DJANGO FRAMEWORK: Django is an MVT web framework that is used to build web applications. The huge Django web- framework comes with so many “batteries included” that developers often get amazed as to how everything manages to work together. The principle behind adding so many batteries is to have common web functionalities in the framework itself instead of adding latter as a separate library. One of the main reasons behind the popularity of Django framework is the huge Django community. The community is so huge that a separate website was devoted to it where developers from all corners developed third-party packages including authentication, authorization, full-fledged Django powered CMS systems, e-commerce add-ons and so on. There is a high probability that what you are trying to develop is already developed by somebody and you just need to pull that into your project. Django is designed in such a way that encourages developers to develop websites fast, clean and with practical design. Django’s practical approach to getting things done is where it stands out from the crowd. If you’re planning to build a highly customizable app, such as social media website, Django is one of the best frameworks to consider. Django strength lies in its interaction between users or its ability to share different types of media. One of the great advantages of Django is its ability to utilize large community-based support which gives you highly customizable third-party ready to use plugins in your applications. NGINX NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption. NGINX is one of a handful of servers written to address the C10K problem. Unlike traditional servers, NGINX doesn’t rely on threads to handle requests. Instead, it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load. Even if you don’t expect to handle thousands of simultaneous requests, you can still benefit from NGINX’s high-performance and small memory footprint. NGINX scales in all directions: from the smallest VPS all the way up to large clusters of servers. NGINX powers several high-visibility sites, such as Netflix, Pinterest and many others. 40

4.2 BACK END SQL SERVER: Microsoft SQL Server was introduced in 1990 for the Microsoft OS/2 platform in partnership with Sybase. The product was originally ported from the Sybase SQL Server 4.x for the UNIX platform. With the introduction of Microsoft Windows NT, a second porting initiative was undertaken to build a native Windows NT version. Microsoft SQL Server version 4.2 was the first commercially available database server natively designed for the Windows NT platform. Business today demands a different kind of data management solution. Performance, scalability and reliability are essential, but businesses now expect more from their key IT investments . SQL Server 2008 exceeds dependability requirements and provides innovative capabilities that increase employee effectiveness, integrate heterogeneous IT ecosystems, and maximize capital and operating budgets. SQL Server 2008 provides the enterprise data management platform your organization needs to adapt quickly in a fast-changing environment. With the lowest implementation and maintenance costs in the industry, SQL Server 2000 delivers a rapid return on your data management investment. SQL Server 2000 supports the rapid development of enterprise-class business applications that can give your company a critical competitive advantage. GUNICORN Gunicorn is a WSGI server. Gunicorn is built so many different web servers can interact with it. It also does not really care what you used to build your web application - as long as it can be interacted with using the WSGI interface. Gunicorn takes care of everything which happens in-between the web server and your web application. This way, when coding up your Django application you don’t need to find your own solutions for: 41

• communicating with multiple web servers • reacting to lots of web requests at once and distributing the load • keeping multiple processes of the web application running 42

CHAPTER – V TESTING AND IMPLEMENTATION 5.1 Testing System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. Although each test has a different purpose, all work to verify that all system elements have been properly integrated and perform allocated functions. Testing is the final verification and validation activity within the organization itself. Testing is done to achieve the following goals: to test the quality of the product, to find and eliminate any residual errors from previous stages, to validate the software as a solution to the original problem, to demonstrate the presence of all specified functionality in the product, to estimate the operational reliability of the system. During testing the major activities are concentrated on the examination and modification of the source code. 5.1.1 Testing methodology MANUAL TESTING Manual testing is a software testing process in which test cases are executed manually without using any automated tool. All test cases executed by the tester manually according to the end user's perspective. It ensures whether the application is working, as mentioned in the requirement document or not. Test cases are planned and implemented to complete almost 100 percent of the software application. Test case reports are also generated manually. Manual Testing is one of the most fundamental testing processes as it can find both visible and hidden defects of the software. The difference between expected output and output, given by the software, is defined as a defect. The developer fixed the defects and handed it to the tester for retesting. Manual testing is mandatory for every newly developed software before automated testing. This testing requires great efforts and time, but it gives the surety of bug-free software. Manual Testing requires knowledge of manual testing techniques but not of any automated testing tool. If the test engineer does manual testing, he/she can test the application as an end-user perspective and get more familiar with the product, which 43

helps them to write the correct test cases of the application and give the quick feedback of the application. AUTOMATION TESTING When the testing case suites are performed by using automated testing tools is known as Automation Testing. The testing process is done by using special automation tools to control the execution of test cases and compare the actual result with the expected result. Automation testing requires a pretty huge investment of resources and money. Generally, repetitive actions are tested in automated testing such as regression tests. The testing tools used in automation testing are used not only for regression testing but also for automated GUI interaction, data set up generation, defect logging, and product installation. The goal of automation testing is to reduce manual test cases but not to eliminate any of them. Test suits can be recorded by using the automation tools, and tester can play these suits again as per the requirement. Automated testing suites do not require any human intervention. 5.1.2 DIFFERENT TESTING UNIT TESTING It is the first level of testing. Each module is tested individually and focus is given for finding errors limited to each individual module and correcting them. The different modules of the system are tested individually and corrected all errors. Each module is focused to work satisfactorily with regard to the expected output from the module. In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use. INTEGRATION TESTING Integration testing is a systematic testing for constructing the program structure while at the same time conducting tests to uncover errors associated with in the interfaces; all the modules are combined and tested as a whole. Integration testing 44

tests whether the system works correctly with units that are integrated to do a particular function. • Top-Down Integration This method is an incremental approach to the construction of program structure. Modules are integrated by moving downward through the control hierarchy, beginning with the main program module. The module subordinates to the main program module are incorporated into the structure in either a depth first or breadth first manner. • Bottom-Up Integration This method begins the construction and testing with the modules at the lowest in the program structure. Since the modules are integrated from the bottom up, processing required for modules subordinate to a given level is always available and the need for stubs is eliminated. VALIDATION TESTING For each input forms validation testing are done to ensure that only allowed values will be entered. Entering incorrect values does the validation testing and it is checked whether the errors are being considered. Incorrect values are to be discarded. The errors are rectified. Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs. Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc. Front-End Validation Everything is validated on the server to prevent someone creating an alternative client to access/manipulate database. Front end is also necessary as it improves efficiency and prevents the server being accessed with inappropriate data. 45

Front end validation is for data entry help and contextual messages. This ensures that the user has a hassle-free data entry experience and minimizes the round-trip required for validating correctness. Front end validation validates all input in a modern application, providing the user with quick feedback a possible issue. In the UI, tourist guide does basic input validation – like checking the mandatory fields, or validity of an email address, and updating or disabling UI controls based on that. Back-End Validation Back-end validation is also an essential part. It has to ensure that the data coming in is needed valid. Additionally, depending on the architecture, generally re-use the middle-tier business logic among-st multiple components so need to ensure the rules that are applied are always consistent – regardless of what the front-end logic enforces. OUTPUT TESTING After performing the validation testing, the next step is output testing of the proposed system, since no system could be useful if it does not produce the required output in the specific format. The output generated by the system under considerations is tested by asking the users about the format required by them. 5.1.3Test chart Login Test case Test Case Name Test Case description Test whether login is possible Item(s) to be Tested 1.User Name 2.Password Specifications 46

Input Expected Output/Result 1. Invalid username and password 1. Form displayed with 2. Invalid Username and valid “Invalid…” message. password 2. Form displayed with 3. Valid username and invalid “Invalid…” message password 3. Form displayed with 4. Valid username and password “Invalid…” message. 4. Home page according to user type is displayed. Test case Registration form Test Case Name Test Case description Test whether entry is possible without giving proper details Input Item(s) to be Tested 1. Any one of the All fields mandatory fields is empty Specifications 2. All entries are valid Output 3. Displays message “please fill out the field” 4. Category successfully added and admin can approve it. 5.2 Quality Assurance & Policies Software quality assurance (SQA) is a means and practice of monitoring the software engineering processes and methods used in a project to ensure proper 47

quality of the software. Quality assurance focuses on improving the software development process and making it efficient and effective as per the quality standards defined for software products. SQA is also concerned with two other aspects namely, software reliability and Software safety. Software reliability is defined as the probability of failure free Operation of a computer program in a specified environment for a specified time 5.2.1 Generic risk Risk is inevitable in a business organization when undertaking projects. However, the project manager needs to ensure that risks are kept to a minimal. Risks can be mainly divided between two types, negative impact risk and positive impact risk. These risks could be resolved through structured or unstructured brainstorming or strategies. It's important to understand that risks pertaining to the project can only be handled by the project manager and other stakeholders of the project. These Risks are classified into different categories: 1) Schedule Risk: Project schedule get slip when project tasks and schedule release risks are not addressed properly. Schedule risks mainly affect a project and finally on company economy and may lead to project failure. Schedules often slip due to the following reasons: • Wrong time estimation • Resources are not tracked properly. All resources like staff, systems, skills of individuals, etc. • Failure to identify complex functionalities and time required to develop those functionalities. • Unexpected project scope expansions. 2) Budget Risk • Wrong budget estimation. • Cost overruns • Project scope expansion 48

3) Operational Risks: Risks of loss due to improper process implementation failed system or some external events risks. Causes of Operational Risks: • Failure to address priority conflicts • Failure to resolve the responsibilities • Insufficient resources • No proper subject training • No resource planning • No communication in the team. 4) Technical Risks: Technical risks generally lead to failure of functionality and performance. Causes of Technical Risks are: • Continuous changing requirements • No advanced technology available or the existing technology is in the initial stages. • The product is complex to implement. • Difficult project modules integration. 5) Programmatic Risks: These are the external risks beyond the operational limits. These are all uncertain risks are outside the control of the program. These external events can be: • Running out of the fund. • Market development • Changing customer product strategy and priority • Government rule changes. 5.3 System Implementation Implementation is a process of ensuring that the information system is operational. It involves – Constructing a new system from scratch Constructing a new system from the existing one. Implementation allows the users to take over its operation for use and evaluation. It involves training the users to handle the system and plan for a smooth 49

conversion. System maintenance is an ongoing activity, which covers a wide variety of activities, including removing program and design errors, updating documentation and test data and updating user support. During the design phase, the products structure, its undergoing data structures, the general algorithms and the interfaces and control/data linkages needed to support communication among the various sub structures were established. Implementation process is simply a translation of the design abstraction into the physical realization, using the language of the target architecture. There are three types of implementations: • Implementation of a computer system to replace a manual system. • Implementation of a new computer system to replace an existing one. • Implementation of a modified application to replace an existing one computer. 5.3.1 Implementation Procedures Implementation is a process of ensuring that the information system is operational. The common approaches for implementation are: Parallel Conversion In parallel conversion the existing system and new system operate simultaneously until the project team is confident that the new system is working properly. The outputs from the old system continue to be distributed until the new system has proved satisfactorily parallel conversion is a costly method because of the amount of duplication involved. Direct Conversion Under direct conversion method the old system is discontinued altogether and the new system becomes operational immediately. A greater risk is associated with direct conversion is no backup in the in the case of system fails. 50

Pilot Conversion A pilot conversion would involve the changing over of the part of the system either in parallel or directly. Use of the variation of the two main methods is possible when part of the system can be treated as a separate entity. 5.4 System Maintenance The maintenance is an important activity in the life cycle of a software product. Maintenance Includes all the activities after the installation of software that is performed to keep the System operational. The maintenance phase of a software life cycle is the time period in Which a product performs useful work. Maintenance is classified into four types: • Corrective Maintenance • Adaptive Maintenance • Perfective Maintenance • Preventive Maintenance CORRECTIVE MAINTENANCE Corrective maintenance refers to changes made to repair defects in the design, coding, or Implementation of the system. Corrective maintenance is often needed for repairing Processing or performance failures or making changes because of previously uncorrected Problems or false assumptions. Most corrective maintenance problems surface soon after the Installation. When corrective maintenance problems surface, they are typically urgent and need to be resolved to curtail possible interruptions in normal business activities. ADAPTIVE MAINTENANCE Adaptive maintenance involves making changes to an information system to evolve its Functionality or to migrate it to different operating environment. Adaptive maintenance is Usually less urgent than corrective maintenance because of business and technical changes Typically occur some period of time. 51

PERFECTIVE MAINTENANCE Perfective maintenance involves making enhancements to improve processing performance, Interface usability, or to add desired, but not necessarily required, system features. Many System professionals feel that perfective maintenance is not really the maintenance but new Development. PREVENTIVE MAINTENANCE Preventive maintenance is the only maintenance activity which is carried out without formal Maintenance request from the user. When a software company or maintenance agency Realizes that the methodologies used in a program have become obsolete, it may decide to Develop or modify parts of the program, which do not confirm to the current trends. Of these Types, more time and money is spending on perfective than on corrective and adaptive Maintenance together. CHAPTER – Ⅵ CONCLUSION 6.1 Conclusion We all know that our campus is huge place and guiding through them is a hectic process. All the students and even staff sometimes find hard to reach their places on time. In this project, we are aiming to help out new students, current students as well as parents and staffs to guide them through the campus base for their various activities. we don’t have an online grievance system or events management system which results in students sometimes find it hard to keep track of events that takes place in our college and the various rooms/halls which we have that cannot be used efficiently if we don’t know the proper allocation of them to various activities. So, in our project we aim to solve all these issues my providing an online grievance management system, room booking system and a notice board for all activities, we did also include a space for providing academic purpose materials. To conclude, our project helps students as well as staffs, teachers in there day to day lifestyle in our college. It’s most relevant in this modern era of digitalization and an update to them in the coming years will be most useful and resourceful to everyone who are associated with our college. 52

Scope for Further Enhancements Hospital indoor mobile localization helps to navigate within a hospital easily. Along with navigation, it provides other information. Local users (with no technical knowledge) can also use(user-friendly). When we go Indoors, the accuracy of the map deteriorates and makes us puzzled. This happens because of the signals from satellites which are blocked due to concrete and iron structures. Wi-Fi and other sensors come in as problem solver. The evolution of the indoor position system is inevitable. Like how we are currently using Google maps, we will be using indoor maps frequently. This will provide the next level of machine learning. This will open up a whole new level of experience for the visitors. They will be able to do things they were never able to do imagine before. All the hospitals will implement the indoor map navigation with much more enhanced features like hospital payments, pharmacy payments, Op booking, Hospital blood bank blood requests to the nearby institution and much more 6.2 BIBLIOGRAPHY Web sites • www.codeproject.com • www.w3schools.com • www.tutorials point.com • www.docs.djangoproject.com/en/4.0/ • gunicorn.org • nginx.com 53

ANNEXURE – A 54

INPUT DESIGN The input design is the process of converting the user-oriented inputs into the computer-based format. The goal of designing input data is make the automation as easy and free from errors as possible. For providing a good input design for the application, easy data input and selection features are adopted. MAJOR INPUT SCREEN The following are the major input screen Login The input screen is used for logging into the system by providing username and password. Registration This function is used to add student and staff details Create events, bookings and notice Staff can create events, make bookings and publish notices using this web app after logging in their account 3.3.1.11 OUTPUT DESIGN The output design has been done so that the results of processing should be communicated to the user. Effective output design will improve the clarity and performance of outputs. Output is the main reason for developing the system and the basis on which they will evaluate the usefulness of the application. Output design phase of the system is concerned with the convergence of information to the end user-friendly manner. The output design should be efficient, intelligible so that system relationship with the end user is improved and they’re by enhancing the process of decision-making. MAJOR OUTPUT SCREENS The following are the major output screens used. 55

• View Bookings, events, notices Staff and students can view already made bookings, events and notices. • View staff and student details Admin can view the student and staff details and make modifications. • View assignments Staff can view assignments submitted by students • View feedback and grievances Admin can view the feedback and grievances from users. SAMPLE SOURCE Booking create html page {% extends 'master.html' %} {% load widget_tweaks %} {% block content %} <h1 class=\"font-bold text-2xl\"> Booking</h1> <hr /> <div class=\"container mt-4\"> <form method=\"post\"> <div class=\"grid grid-cols-2 gap-3\"> <div class=\"col-span-2\"> <label>{{ form.room.label }}</label> {% render_field form.room class=\"form-input w-full rounded\" %} {% if form.room.errors %} <div class=\"text-red-600\"> {{ form.room.errors.as_ul }} </div> {% endif %} </div> <div> <label>{{ form.booked_on.label }}</label> {% render_field form.booked_on class=\"form-input w-full rounded\" %} {% if form.booked_on.errors %} <div class=\"text-red-600\"> {{ form.booked_on.errors.as_ul }} </div> {% endif %} </div> 56

<div> <label>{{ form.booked_from.label }}</label> {% render_field form.booked_from class=\"form-input w-full rounded\" %} {% if form.booked_from.errors %} <div class=\"text-red-600\"> {{ form.booked_from.errors.as_ul }} </div> {% endif %} </div> <div> <label>{{ form.booked_to.label }}</label> {% render_field form.booked_to class=\"form-input w-full rounded\" %} {% if form.booked_to.errors %} <div class=\"text-red-600\"> {{ form.booked_to.errors.as_ul }} </div> {% endif %} </div> <div> <label>{{ form.event.label }}</label> {% render_field form.event class=\"form-input w-full rounded\" %} {% if form.event.errors %} <div class=\"text-red-600\"> {{ form.event.errors.as_ul }} </div> {% endif %} </div> <div class=\"col-span-2\"> <label>{{ form.remarks.label }}</label> {% render_field form.remarks class=\"form-input w-full rounded\" %} {% if form.remarks.errors %} <div class=\"text-red-600\"> {{ form.remarks.errors.as_ul }} </div> {% endif %} </div> </div> {% csrf_token %} <div class=\"flex mt-2\"> <button class=\"ml-auto bg-indigo-600 p-2 rounded text- white\">Save</button> 57

</div> </form> </div> {% endblock content %} Booking list html page {% extends 'master.html' %} {% block content %} <div class=\"flex\"> <a href=\"{% url 'booking_create' %}\" class=\"ml-auto bg-indigo-600 p-2 rounded text-white\"> + New Booking </a> </div> <h1 class=\"font-bold text-2xl\">Upcoming Events</h1> <hr /> <div class=\"container mt-4\"> <!-- <table class=\"table border table-striped\"> <tr> <th>Room Name</th> <th>Booked on</th> <th>Booked from</th> <th>Booked to</th> <th>Event Name</th> <th>Remarks</th> <th>Action</th> </tr> {% for i in object_list %} <tr> <td>{{ i.room.room_name }}</td> <td>{{ i.booked_on }}</td> <td>{{ i.booked_from }}</td> <td>{{ i.booked_to }}</td> <td>{{ i.event.name }}</td> <td>{{ i.remarks }}</td> <td> <a href=\"{% url 'booking_edit' i.id %}\" class=\"text-indigo-600\"> Edit </a> <div class=gap-3></div> <a href=\"{% url 'booking_delete' i.id %}\" class=\"text-indigo-600\"> Delete </a> </td> </tr> {% endfor %} 58

</table> --> <div class=\"grid grid-cols-4 gap-3\"> {% for i in object_list %} <div class=\"shadow-lg border rounded p-2 hover:shadow-xl transition\"> <h2 class=\"text-center font-semibold text-2xl\">{{ i.room.room_name }}</h2> <div class=\"mt-2\"> <p>Booked on: {{i.booked_on }}</td> <p>Booked from: {{i.booked_from }}</td> <p>Booked to: {{ i.booked_to }}</td> <p>Event Name: {{ i.event.name }}</td> <p>Remarks: {{ i.remarks }}</td> </div> <hr> <div class=\"mt-2 flex justify-center\"> <a href=\"{% url 'booking_edit' i.id %}\" class=\"text-indigo-600 p-1 px-2 mx-2 hover:bg-indigo-600 hover:text-white transition rounded\"> Edit </a> <div class=gap-3></div> <a href=\"{% url 'booking_delete' i.id %}\" class=\"text-red-600 p-1 px-2 mx-2 hover:bg-red-600 hover:text-white transition rounded\"> Delete </a> </div> </div> {% endfor %} </div> </div> {% endblock content %} Urls.py from django.urls import path from .views import * urlpatterns = [ path('', admin_home, name='admin_home'), path('department/', DepartmentListView.as_view(), name='department_list'), path('department/create/', DepartmentCreateView.as_view(), name='department_create'), path('department/edit/<id>/', DepartmentUpdateView.as_view(), name='department_edit'), path('course/', CourseListView.as_view(), name='course_list'), 59

path('course/create/', CourseCreateView.as_view(), name='course_create'), path('course/edit/<id>/', CourseUpdateView.as_view(), name='course_edit'), path('course/delete/<int:id>/', delete_course, name='course_delete'), path('student/', StudentListView.as_view(), name='student_list'), path('student/create/', create_student, name='student_create'), path('student/edit/<id>/', update_student, name='student_edit'), path('student/delete/<id>/', delete_student, name='student_delete'), path('staff/', StaffListView.as_view(), name='staff_list'), path('staff/create/', create_staff, name='staff_create'), path('staff/edit/<id>/', edit_staff, name='staff_edit'), path('staff/delete/<id>/', delete_staff, name='staff_delete'), path('room/', RoomListView.as_view(), name='room_list'), path('room/create/', RoomCreateView.as_view(), name='room_create'), path('room/edit/<id>/', RoomUpdateView.as_view(), name='room_edit'), path('room/delete/<int:id>/', delete_room, name='room_delete'), path('events/', EventListView.as_view(), name='eventss_list'), path('events/create/', EventCreateView.as_view(), name='eventss_create'), path('events/edit/<id>/', EventUpdateView.as_view(), name='eventss_edit'), path('events/delete/<int:id>/', delete_event, name='eventss_delete'), path('booking/', BookingListView.as_view(), name='booking_list'), path('booking/create/', BookingCreateView.as_view(), name='booking_create'), path('booking/edit/<id>/', BookingUpdateView.as_view(), name='booking_edit'), path('booking/delete/<int:id>/', delete_booking, name='booking_delete'), path('contact/', ContactUsListView.as_view(), name='contact_list'), path('contact/delete/<int:id>/', contactus_delete, name='contact_delete'), path('classroom/', ClassRoomListView.as_view(), name='classroom_list'), path('classroom/create/', ClassRoomCreateView.as_view(), name='classroom_create'), path('classroom/edit/<id>', ClassRoomUpdateView.as_view(), name='classroom_edit'), path('classroom/teachers/<id>/', ClassRoomTeachersListView.as_view(), name='classroomteachers_list'), path('classroom/teachers/create/<id>/', add_classroom_teacher_list, name='classroomteachers_add_list'), path('classroom/teachers/add/confirm/<classroom_id>/<teacher_id>/', classroom_teacher_confirm_add, name='classroomteachers_add'), path('classroom/teachers/delete/<id>/', remove_classroom_teacher, name='classroomteachers_delete'), 60

path(\"noticeboard/\", NoticeboardListView.as_view(), name=\"noticeboard_list\"), path(\"noticeboard/detail/<id>/\", NoticeboardDetailView.as_view(), name=\"noticeboard_detail\"), path(\"noticeboard/create/\", NoticeboardCreateView.as_view(), name=\"noticeboard_create\"), path(\"noticeboard/edit/<id>/\", NoticeboardUpdateView.as_view(), name=\"noticeboard_edit\"), path(\"noticeboard/delete/<id>/\", NoticeboardDeleteView.as_view(), name=\"noticeboard_delete\"), path(\"grievance/\", GrievanceListView.as_view(), name=\"grievance_list\"), path(\"grievance/update/<id>/\", GrievanceUddateView.as_view(), name=\"grievance_update\"), path(\"grievance/delete/<id>/\", grievance_delete, name=\"grievance_delete\"), ] LOGIN PAGE {% extends 'master_accounts.html' %} {% load widget_tweaks %} {% load static %} {% block content %} <div class=\"flex flex-col overflow-y-auto md:flex-row\"> <div class=\"h-32 md:h-auto md:w-1/2\"> <img aria-hidden=\"true\" class=\"object-cover w-full h-full dark:hidden\" src=\"{% static 'assets/img/college-1.jpg' %}\" alt=\"Office\" /> <img aria-hidden=\"true\" class=\"hidden object-cover w-full h-full dark:block\" src=\"{% static 'assets/img/college-1.jpg' %}\" alt=\"Office\" /> </div> <div class=\"flex items-center justify-center p-6 sm:p-12 md:w-1/2\"> <form class=\"w-full\" method=\"POST\"> <h1 class=\"mb-4 text-xl font-semibold text-gray-700 dark:text-gray-200\"> Login </h1> <label class=\"block text-sm\"> {{ form.username.label }} {% render_field form.username class=\"form-input w-full rounded\" %} {% if form.username.errors %} <div class=\"text-red-600\"> {{ form.username.errors.as_ul }} </div> {% endif %} 61

</label> <label class=\"block mt-4 text-sm\"> {{ form.password.label }} {% render_field form.password class=\"form-input w-full rounded\" %} {% if form.username.errors %} <div class=\"text-red-600\"> {{ form.username.errors.as_ul }} </div> {% endif %} </label> example {% csrf_token %} mt-2\"> <!-- You should use a button here, as the anchor is only used for the --> <button type=\"submit\" class=\"bg-indigo-600 p-2 w-full rounded text-white Login </button> <hr class=\"my-8\" /> <p class=\"mt-4\"> <a class=\"text-sm font-medium text-purple-600 dark:text-purple-400 hover:underline\" href=\"./forgot-password.html\"> Forgot your password? </a> </p> <!-- <p class=\"mt-1\"> <a class=\"text-sm font-medium text-purple-600 dark:text-purple-400 hover:underline\" href=\"./create-account.html\"> Create account </a> </p> --> </form> </div> </div> {% endblock content %} 62

ANNEXURE – B 63

ABBREIVATION LOGIN PAGE 64

Department 65

Course 66

Events Notice board 67

Staff Student 68

Rooms 69

Bookings 70

71

72

73

74


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook