Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amitkannaujiya/gotrainbookinggrpcserver

This Repo will have a golang grpc server which will expose protobuf api for the train ticket booking .
https://github.com/amitkannaujiya/gotrainbookinggrpcserver

api go-patterns golang grpc-server

Last synced: 18 days ago
JSON representation

This Repo will have a golang grpc server which will expose protobuf api for the train ticket booking .

Awesome Lists containing this project

README

        

# Go Ticket Booking Server (GRPC API for Train Ticket Booking)
This Repo will have a golang grpc server which will expose protobuf api for the train ticket booking .

## List of features

### Generate Seats for Section
* Add configurable no of seat for each section (A or B)

### Purchase Ticket PurchaseTicket
* Add Booking for User (firstName, lastName, Section A or B, Price, Source, Destination)
* Store Booking history in memory

### Generate Booking Receipt
* Get Booking details against ReceiptId

### Get List of Users for each sections
* Send List of Users and booked seats section wise
* Fetch and send details of User Seat mapping

### Modify Seat of User
* Modify the seat of user if it is available
* Update the booking

### Remove User from Train (Cancel Booking)
* Modify the seat of user if it is available
* Update the booking

# Running Locally using Docker

* git clone https://github.com/AmitKannaujiya/GoTrainBookingGrpcServer.git
```bash
cd
go run main.go

```

access site on: http://localhost:5001/

# Documentation

* [API Docs](pending)
* [Model Design](pending)
* [Code Structure](pending)

# TODO

- [ ] Add tests for more cases
- [ ] Add tests for helpers
- [ ] Add documentation
- [ ] Add Authentication
- [ ] Update Logging