SMT GODAVARI DEVI SARAF SENIOR SECONDARY SCHOOL GARIVIDI A PROJECT REPORT ON TRAIN RESERVATION SYSTEM ( A Project Report Submitted in Partial Fulfillment of the Requirements) AISSCE -2024 (All India Senior School Certificate Examination -2024) IN COMPUTER SCIENCE with PYTHON (083) - XII Submitted by : SNO NAME OF THE STUDENTS REGISTRATION NUMBER 01. D.G.S.S.VARMA M/2/24/57028/0007 02. Y.TARUN TEJA M/2/24/57028/0024 03. SK.NIZAMUDDIN M/2/24/57028/0021 Submitted to : Mr. S. JAGAN MOHAN VAMSEE, PGT(CS) INDEX SNO TOPIC Pgno 1 Undertaking . 2 Certificate . 3 Introduction of Python . 4 Introduction of Mysql . 5 Acknowledgement . 6 Contents . 7 Introduction of Project . 8 System Requirements . 9 10 Coding Screen shots Outputs . . 11 Flow chart . 12 Bibliography . UNDERTAKING We declare that the work presented in this project titled “TRAIN RESERVATION SYSTEM”, submitted to Mr. S. JAGAN MOHAN VAMSEE, PGT- Computer Science, SMT GODAVARI DEVI SENIOR SECONDARY SCHOOL ,GARIVIDI for the award of the CBSE – AISSCE class XII certificate. I have not plagiarized or submitted the same work for the award of any other examination. In case this undertaking is found incorrect, we accept that our Certificates may be unconditionally withdrawn. January, 2024 Place : SMT GODAVARI DEVI SENIOR SECONDARY SCHOOL ,GARIVIDI CERTIFICATE This is to Certify that Project Entitled “TRAIN RESERVATION SYSTEM” is a bonafide work done by D.G.S.S.Varma, Y.Tarun and SK.Nizamuddin of Class XII Session 2023-2024 in Partial fulfillment of CBSE’s AISSCE Practical examination 20 24 and has been carried out under my direct supervision and guidance. This report or a similar report on the topic has not been submitted for any other examination and does not form a part of any other course under gone by the candidate. Examiner : Name : Signature : COMPUTER SCIENCE (MASTER IC) INTRODUCTION TO PYTHON Python is a widely used general -purpose,high level programming language. It was initially designed by Guido van Rossum in 1991 and developed by Python Software Foundation. It was mainly developed for emphasis on code readability and its syntax allows programmers to express concepts in fewer lines of code. It is a programming language that lets you work quickly and integrate systems more efficiently. Features of Python programming language : Easy to learn and use : Python is easy to learn and use. It is a developer-friendly and high level programming language Expressive language : Python language is more expressive. It means that it is more Understandable and readable. Interpreted Language : Python is an interpreted language i.e. interpreter executes the code line by line at a time. This makes debugging easy and thus suitable for beginners. Cross-platform language: Python can run equally on different platforms such as windows,linux,unix and macintosh etc. so,we can say that python is a portable language. Free and open source: Python language is freely available at the official web address. The source code is also available. Therefore it is open source. Object-Oriented Language: Python supports object oriented language and concepts of classes and objects come into exercise. It implies that other languages such as C/C++ can be used to compile the code and thus it can be used further in our Python code. Large Standard Library: Python has a large and broad library and provides a rich set of modules and functions for rapid application development. GUI Programming Support: Graphical user interfaces can be developed using Python. Integrated: It can be easily integrated with languages like C, C++, JAVA etc. INTRODUCTION TO MySQL MySQL is a relational database management system (RDBMS) Developed by Oracle that is based on Structured Query Language(SQL). MYSQL is a Relational Database Management system (RDBMS) software that provides many things, which are as follows: ● It allows us to implement database operations on tables,rows,column,and indexes. ● It defines the database relationship in the form of tables (collection of rows and columns), also known as relations. ● It provides the Referential integrity between rows or columns of various tables. ● It allows us to update the table indexes automatically. ● It uses many SQL queries and combines useful information from multiple tables for the end-users. Steps to connect My SQL Database in Python using “My SQL Connector-Python” The following details of the MySQL server are required to perform the connection from Python. ➔ Username- The username that you use to work with MySQL server.The default username for the MySQL database is a root. ➔ Password-Password is given by the user at the time of installation of the MySQL server. ➔ Host Name- Host name is the server name or IP address on which MySQL is running. If you are running on localhost, then you can use localhost, or it’s IP. ➔ Database Name- Database Name to which you want to connect. Steps: ● Install MySQL connector Python using PIP. ● Use the mysql.connector.connect() method of MySQL Connector Python with the required parameters to connect MySQL. ● Use the connection object returned by a connect () method to create a cursor object to perform Database Operations. ● User cursor.execute () to execute SQL queries from Python. ● Close the cursor object using a cursor.close () and MySQL database connection using connection.close () after your work completes. ● Catch Exceptions if any that may occur during this process. Understanding the Python-MySQL Database connection program 1. Import mysql.connector This line imports the MySQL connector Python module in your program so you can use this module’s API to connect MySQL. 2. mysql.connector.connect() Using this method we can connect the MySQL Database, this method accepts four required parameters: Host, Database, User and Password Connect() method establishes a connection to the MySQL database from the Python application and returns a MySQL connection object. Then we can use the MySQL COnnection object to perform various operations on the MySQL Database. 3. connection.is_connected() is_connected () is the method of the MySQLConnection class through which we can verify our python application is connected to MySQL. 4. connection.cursor() This method returns a cursor object. Using a cursor object, we can execute SQL queries. The MySQLCursor class instantiates objects than can execute operations such as SQL statements. Cursor objects interact with the MySQL server using a MySQL Connection object. 5. cursor.close() Using the cursor’s close method we can close the cursor object. Once we close the cursor object, we cannot execute any SQL statement. 6. connection.close() At last, we are closing the MySQL database connection using a close() method of MYSQLConnection class. CONTENTS SNO 1 2 TOPICS INTRODUCTION OF PROJECT SYSTEM REQUIREMENTS 3 PYTHON CODE 4 MYSQL CODE 5 FLOWCHARTS 6 OUTPUT SCREENSHOTS 7 BIBLIOGRAPHY INTRODUCTION OF PROJECT “Train Reservation System” is basically a database based project done with help of python language. This project is very useful for the people to book or cancel train tickets by sitting at home with one cell phone in their hand. This project can be modified for various reservations. OBJECTIVES OF THE PROJECT The objective of this project is to let the students apply the programming knowledge into a real world situation/problem and exposed the students how programming skills helps in developing good software. ● Write programs utilizing modern software tools. ● Apply object oriented programming principles effectively when developing small to medium sized projects. ● Write effective procedural code to solve small to medium sized problems. ● Students will demonstrate a breadth of knowledge in computer science, as exemplified in the areas of systems, theory and software development. ● Students will demonstrate ability to conduct a research or applied Computer Science project, requiring writing and presentation skills which exemplify scholarly style in computer science. S.No Limitations Challenges 1. Multiple user login Database handling 2. Current status of trains and tickets Ticket booking execution 3. Availability of tickets Ensuring different class for tickets 4. Unsatisfactory security concern Calculation on fare System requirements Hardware system requirements : Processor : Intel(R) Core(TM) i3-8100T CPU@3.10GHz 3.10 GHz Memory : 8 GB Soldered DDR4 3200MHz System type : 64-bit operating system, x64-based processor Hard Drive : 512 GB SSD M.2 2242 PCIe Gen4 Software Requirements Operating system : Windows 11 Python IDLE : Spyder,Anaconda Navigator Database IDLE : mysqL 5.5 Command Line Client Documentation : Google Documents