Bus Ticket System Deepyan
Bus Ticket System Deepyan
Report on
“Bus Ticketing and Payment System”
By
Deepayan Das (1BM21CS049)
Anushka Jadhav (1BM21CS276)
Chanchal Bhati (1BM21CS042)
CERTIFICATE
This is to certify that the Cloud Computing assignment titled “Cloud Simulation
for Bus Ticketing and Payment System” has been carried out by Deepayan Das
(1BM21CS049), Anushka Jadhav(1BM21CS276), Chanchal Bhati
(1BM21CS042) during the academic year 2024-2025.
DECLARATIO
N
Signature of the
Candidates
Deepayan Das (1BM21CS049)
Anushka Jadhav (1BM21CS276)
Chanchal Bhati (1BM21CS042)
1. Introduction
1.1 Cloud Computing Overview
• Benefits of Docker
- Consistent environments across different stages of development.
```bash
```
Kubernetes helps manage multiple Docker containers running the bus ticketing
system, ensuring high availability during traffic spikes.
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: bus-ticketing-deployment
spec:
replicas: 3
selector:
matchLabels:
app: bus-ticketing
template:
metadata:
labels:
app: bus-ticketing
spec:
containers:
- name: bus-ticketing
image: bus-ticketing-app:v1
ports:
- containerPort: 8080
```
AWS provides a wide range of cloud services such as compute (EC2), storage
(S3), and database (RDS) to host and manage the bus ticketing system.
RDS : Managed relational database for storing ticketing and transaction data.
Microsoft Azure offers cloud services such as Azure Kubernetes Service (AKS)
for managing containers and Azure Functions for serverless computing.
4. Tools Used
4.1 Front-End Design
• ReactJS
ReactJS is a JavaScript library for building user interfaces. It's chosen for its
component-based architecture, making the front-end scalable and maintainable.
useState('');
event.preventDefault();
};
return (
<form onSubmit={handleSubmit}>
</select>
</select>
);
};
```
• Node.js
Node.js is used to create a server that handles requests for booking tickets,
processing payments, and updating databases.
• MongoDB/MySQL
- MongoDB is used for unstructured data like user profiles and booking history.
- MySQL (or AWS RDS) is used for structured data like transactions and booking
details.
• Razorpay/Stripe
Payment gateways are integrated to handle transactions securely, including
card payments, digital wallets, and net banking.
5. Detailed Design
• High-Level Architecture
A high-level architecture diagram that shows how different components like
the front-end, back-end, database, and payment gateway interact with each
other.
• Payment Module
Handles payment gateway integration, securely processing transactions.
• Admin Module
Admins can manage buses, view ticket bookings, and generate reports on sales
and revenue.
6. Implementation Details
if (err) {
res.status(200).json(ticket);
});
});
```
```js
app.post('/payment', (req, res) => {
if (err) {
});
});
```
```bash
```
- Kubernetes Deployment:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: bus-ticketing-deployment
spec:
replicas: 3
selector:
matchLabels:
app: bus-ticketing
```
6.3 Testing
Unit Testing
Unit tests are written using Jest for ReactJS components and Mocha/Chai for
Node.js APIs.
7. Results
7.1 Screenshots
• Payment Confirmation
• Database Entries
8. Conclusion
8.1 Summary of Achievements
9. References
1. Docker Documentation
[https://docs.docker.com/](https://docs.docker.com/)
2. Kubernetes Documentation
[https://kubernetes.io/docs/](https://kubernetes.io/docs/)
3. AWS Documentation
[https://aws.amazon.com/documentation/](https://aws.amazon.com/documenta
tion/)
4. Firebase Documentation
[https://firebase.google.com/docs](https://firebase.google.com/docs)
5. JMeter Documentation
[https://jmeter.apache.org/](https://jmeter.apache.org/)