├── Easy
├── 6. Escapeezy
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 2. Pacman Game
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 5. IPL Management App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 1. Shopping Cart Problem
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 3. COVID-19 Food Supply App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 4. Digital Hospital Manager
│ ├── solutions
│ │ └── README.md
│ └── README.md
└── README.md
├── Hard
├── 6. Escapeezy
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 2. Pacman Game
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 5. IPL Management App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 1. Shopping Cart Problem
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 3. COVID-19 Food Supply App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 4. Digital Hospital Manager
│ ├── solutions
│ │ └── README.md
│ └── README.md
└── README.md
├── Medium
├── 2. Pacman Game
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 6. Escapeezy
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 1. Shopping Cart Problem
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 5. IPL Management App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 3. COVID-19 Food Supply App
│ ├── solutions
│ │ └── README.md
│ └── README.md
├── 4. Digital Hospital Manager
│ ├── solutions
│ │ └── README.md
│ └── README.md
└── README.md
├── Bonus
├── 4. Digital Hospital Manager
│ ├── solutions
│ │ └── README.md
│ └── README.md
└── README.md
├── assets
└── images
│ ├── pr.png
│ ├── fork.png
│ ├── cwgsblrl.png
│ ├── pr_compare.png
│ ├── pacmanGameEasy.jpeg
│ ├── pacmanGameHard.png
│ ├── pacmanGameMedium.png
│ ├── hacktoberEdition2020.png
│ ├── escapeezyEasyBookSeatOutput.png
│ ├── escapeezyHardBookSeatOutput.png
│ ├── escapeezyEasyCreateEventOutput.png
│ └── escapeezyHardCreateEventOutput.png
├── .github
└── workflows
│ └── create-badge.yml
├── LEADERBOARD.md
├── README.md
└── CONTRIBUTING.md
/Easy/6. Escapeezy/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/6. Escapeezy/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Easy/2. Pacman Game/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/2. Pacman Game/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/2. Pacman Game/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/6. Escapeezy/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Easy/5. IPL Management App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/5. IPL Management App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Easy/1. Shopping Cart Problem/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Easy/3. COVID-19 Food Supply App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Easy/4. Digital Hospital Manager/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/1. Shopping Cart Problem/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/3. COVID-19 Food Supply App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Hard/4. Digital Hospital Manager/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/1. Shopping Cart Problem/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/5. IPL Management App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Bonus/4. Digital Hospital Manager/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/3. COVID-19 Food Supply App/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/Medium/4. Digital Hospital Manager/solutions/README.md:
--------------------------------------------------------------------------------
1 | # Solutions
2 |
--------------------------------------------------------------------------------
/assets/images/pr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/pr.png
--------------------------------------------------------------------------------
/assets/images/fork.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/fork.png
--------------------------------------------------------------------------------
/assets/images/cwgsblrl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/cwgsblrl.png
--------------------------------------------------------------------------------
/assets/images/pr_compare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/pr_compare.png
--------------------------------------------------------------------------------
/assets/images/pacmanGameEasy.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/pacmanGameEasy.jpeg
--------------------------------------------------------------------------------
/assets/images/pacmanGameHard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/pacmanGameHard.png
--------------------------------------------------------------------------------
/assets/images/pacmanGameMedium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/pacmanGameMedium.png
--------------------------------------------------------------------------------
/assets/images/hacktoberEdition2020.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/hacktoberEdition2020.png
--------------------------------------------------------------------------------
/assets/images/escapeezyEasyBookSeatOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/escapeezyEasyBookSeatOutput.png
--------------------------------------------------------------------------------
/assets/images/escapeezyHardBookSeatOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/escapeezyHardBookSeatOutput.png
--------------------------------------------------------------------------------
/assets/images/escapeezyEasyCreateEventOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/escapeezyEasyCreateEventOutput.png
--------------------------------------------------------------------------------
/assets/images/escapeezyHardCreateEventOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/girlscript-blr/code-with-girlscript-bangalore/HEAD/assets/images/escapeezyHardCreateEventOutput.png
--------------------------------------------------------------------------------
/Bonus/README.md:
--------------------------------------------------------------------------------
1 | # Code with GirlScript Bangalore
2 |
3 | ## This is the bonus section of the program
4 |
5 | ### Table of Content
6 |
7 | - [4. Digital Hospital Manager - October 2020](4.%20Digital%20Hospital%20Manager/README.md)
8 |
--------------------------------------------------------------------------------
/Easy/README.md:
--------------------------------------------------------------------------------
1 | # Code with GirlScript Bangalore
2 |
3 | ## This is the easy section of the program
4 |
5 | ### Table of Content
6 |
7 | - [1. Shopping Cart Problem - July 2020](1.%20Shopping%20Cart%20Problem/README.md)
8 | - [2. Pacman Game - August 2020](2.%20Pacman%20Game/README.md)
9 | - [3. COVID-19 Food Supply App - September 2020](3.%20COVID-19%20Food%20Supply%20App/README.md)
10 | - [4. Digital Hospital Manager - October 2020](4.%20Digital%20Hospital%20Manager/README.md)
11 | - [5. IPL Management App - November 2020](5.%20IPL%20Management%20App/README.md)
12 | - [6. Escapeezy - December 2020](6.%20Escapeezy//README.md)
13 |
--------------------------------------------------------------------------------
/Hard/README.md:
--------------------------------------------------------------------------------
1 | # Code with GirlScript Bangalore
2 |
3 | ## This is the hard section of the program
4 |
5 | ### Table of Content
6 |
7 | - [1. Shopping Cart Problem - July 2020](1.%20Shopping%20Cart%20Problem/README.md)
8 | - [2. Pacman Game - August 2020](2.%20Pacman%20Game/README.md)
9 | - [3. COVID-19 Food Supply App - September 2020](3.%20COVID-19%20Food%20Supply%20App/README.md)
10 | - [4. Digital Hospital Manager - October 2020](4.%20Digital%20Hospital%20Manager/README.md)
11 | - [5. IPL Management App - November 2020](5.%20IPL%20Management%20App/README.md)
12 | - [6. Escapeezy - December 2020](6.%20Escapeezy//README.md)
13 |
--------------------------------------------------------------------------------
/Medium/README.md:
--------------------------------------------------------------------------------
1 | # Code with GirlScript Bangalore
2 |
3 | ## This is the medium section of the program
4 |
5 | ### Table of Content
6 |
7 | - [1. Shopping Cart Problem - July 2020](1.%20Shopping%20Cart%20Problem/README.md)
8 | - [2. Pacman Game - August 2020](2.%20Pacman%20Game/README.md)
9 | - [3. COVID-19 Food Supply App - September 2020](3.%20COVID-19%20Food%20Supply%20App/README.md)
10 | - [4. Digital Hospital Manager - October 2020](4.%20Digital%20Hospital%20Manager/README.md)
11 | - [5. IPL Management App - November 2020](5.%20IPL%20Management%20App/README.md)
12 | - [6. Escapeezy - December 2020](6.%20Escapeezy//README.md)
13 |
--------------------------------------------------------------------------------
/.github/workflows/create-badge.yml:
--------------------------------------------------------------------------------
1 | name: Create Badge Action
2 |
3 | on:
4 | pull_request:
5 | types: [closed, labeled]
6 |
7 | jobs:
8 | action:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - name: Actions
12 | uses: actions/checkout@v2
13 |
14 | - name: Badgr Create Badge
15 | if: ${{ github.event.pull_request.merged == true }}
16 | uses: yajushiSri/Badgr-Create-Badge@v1.0.0
17 | id: badge
18 | with:
19 | github-token: ${{secrets.GITHUB_TOKEN}}
20 | repo: ${{github.repository}}
21 | sha: ${{github.sha}}
22 | username: ${{secrets.BADGR_USERNAME}}
23 | password: ${{secrets.BADGR_PASSWORD}}
--------------------------------------------------------------------------------
/Easy/5. IPL Management App/README.md:
--------------------------------------------------------------------------------
1 | # IPL Management App - Easy
2 |
3 | > Date : 1st November 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 |
12 | ## Problem Statement
13 |
14 | It’s IPL season and we are all pumped about it! The matches on the field are about as competitive as the matches on our Whatsapp groups, with us enthusiastically supporting our favorite teams.
15 |
16 | To make the tournament successful, a lot of work and organization is done behind the scene to keep it organized and efficient. Help the BCCI by developing an application that keeps **track of team details** for the tournament.
17 |
18 | ### Inputs
19 |
20 | The app should be able to get a total number of teams playing the tournament, along with team details like the following:
21 |
22 | - Number of Teams playing the tournament:
23 | - Fill Team1 Details:
24 | - Name:
25 | - Captain:
26 | - Franchise:
27 | - Home Ground:
28 | - Fill Team2 Details:
29 | - Name:
30 | - Captain:
31 | - Franchise:
32 | - Home Ground:
33 | .
34 | .
35 | .
36 | Soo on till team **n**.
37 |
38 | ### Output
39 |
40 | The app should be able to display all the team details as following:
41 |
42 | | Sl No. (Autogenerate) | Team Name | Captain | Franchise | Home Ground |
43 | | --------------------- | --------- | ------- | --------- | ----------- |
44 | | | | | | |
45 |
46 | ## Requirements for submission
47 |
48 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
49 | - Last Submission Date : `30th November 2020`
50 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
51 |
52 | ## How to submit solution?
53 |
54 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
55 |
56 | ## Next steps
57 |
58 | Solved this problem? Then you might want to checkout the other versions of this problem.
59 |
60 | - [Medium](../../Medium/5.%20IPL%20Management%20App/README.md)
61 | - [Hard](../../Hard/5.%20IPL%20Management%20App/README.md)
62 |
--------------------------------------------------------------------------------
/Easy/2. Pacman Game/README.md:
--------------------------------------------------------------------------------
1 | # Pacman Game - Easy
2 |
3 | > Date : 1st August 2020
4 |
5 | ## Prerequisites
6 | - Basic data manipulation in two dimentional array / matrix.
7 | - https://beginnersbook.com/2014/01/2d-arrays-in-c-example
8 | - How to use keyboard's arrow keys as input.
9 | - For C/C++:
10 | - https://www.researchgate.net/post/How_to_use_arrow_keys_in_c_programming_language
11 | - http://cprogrampracticals.blogspot.com/2016/04/c-program-to-use-arrow-keys.html
12 | - For Python:
13 | - https://pythonhosted.org/pynput/keyboard.html
14 | - https://www.geeksforgeeks.org/python-drawing-design-using-arrow-keys-in-pygame/
15 | - for JavaScript:
16 | - https://www.geeksforgeeks.org/javascript-detecting-the-pressed-arrow-key/
17 |
18 | ## Problem Statement
19 |
20 | All of us would have played the famous ‘PACMAN GAME’ in our childhood. 😃 The time has come to write code 👨💻👩💻 for the same!
21 | The objective of the problem is to allow the Pacman to move along the walls of the maze. The code written should satisfy the requirements given below.
22 |
23 | - Create a static 2D array that will represent a maze. There should be 3 types of characters stored in the 2D array.
24 | - One will represent a horizontal wall. (Ex: ‘-’)
25 | - One will represent a vertical wall. (Ex: ‘|’)
26 | - One will represent blank space. (Ex: ‘ ’)
27 | - One to represent the Pacman. (Ex: ‘@’)
28 | - Example

29 |
30 | - The 2D array must have a minimum of 10 rows and 40 columns.
31 | - When the app runs, the 2D maze should be displayed along with the horizontal & vertical walls, blank space, and the Pacman.
32 | - When the arrow keys are pressed the Pacman should move in the respective direction. (The Pacman obviously cannot move through the walls)
33 |
34 |
35 | ### Inputs
36 |
37 | The user should be able to control the pacman with arrow keys, or (W,A,S,D).
38 |
39 | ### Output
40 |
41 | The maze should be displayed on the screen and the player should be able to control the pacman.
42 |
43 | ## Requirements for submission
44 |
45 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
46 | - Last Submission Date : `30th August 2020`
47 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
48 |
49 | ## How to submit solution?
50 |
51 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
52 |
53 | ## Next steps
54 |
55 | Solved this problem? Then you might want to checkout the other versions of this problem.
56 |
57 | - [Medium](../../Medium/2.%20Pacman%20Game/README.md)
58 | - [Hard](../../Hard/2.%20Pacman%20Game/README.md)
59 |
--------------------------------------------------------------------------------
/Easy/1. Shopping Cart Problem/README.md:
--------------------------------------------------------------------------------
1 | # Shopping Cart Problem - Easy
2 |
3 | > Date : 1st July 2020
4 |
5 | ## Prerequisites
6 | - Basic input output of strings and numbers.
7 | - One of `Class`/`Object`/`Dictionary`/`Map` to store shopping items. (Depends on the language you are using)
8 | - Creating and displaying arrays.
9 | - Basic calculation.
10 | - Getting the current date & time and displaying it in human readable form.
11 |
12 | ## Problem Statement
13 |
14 | This project aims to develop an online shopping platform called `GadgetifyWithGSBlr`. The customer has to enter details as per the input specified. The app generates a bill accordingly containing all the details provided by the user and the total amount.
15 |
16 | - There should be a static list of shopping items along with their name and price. (Min 5 items)
17 | Example:
18 | ```
19 | Basshead earphones: Rs. 1200
20 | Bluetooth computer mouse: Rs. 600
21 | ```
22 | - When the application runs, the user must be asked the following.
23 | - Name
24 | - Phone no
25 | - Payment method `(cash/card/online)`
26 | - Select a single shopping item and it’s quantity.
27 | `For Example, the user can select 3 basshead earphones`
28 | - The app should generate a bill for the selected item, including a 6% tax on the total amount.
29 | - The bill should also contain all the details provided by the user.
30 | - The bill should contain the shop details as well as the billing date and time.
31 |
32 | ### Inputs
33 |
34 | Input can be in any format or variation but it must include the following.
35 |
36 | - Name
37 | - Phone no
38 | - Payment method (cash/card/online)
39 | - Selected item and it's quantity
40 |
41 | ### Output
42 |
43 | Output will be a bill based on the given input. The bill can be in any format but it must include the following
44 |
45 | #### Static data
46 |
47 | - Shop name: `GadgetifyWithGSBlr`
48 | - Shop address: `311/5 Akshay nagar, Bangalore, Karnataka, India`
49 | - Shop contact no: `+91 9988776655`
50 |
51 | #### Variable data
52 |
53 | - Customer name
54 | - Customer phone no
55 | - Item bought, it's quantity & price
56 | - Total tax
57 | - Sum amount to be paid
58 | - Payment method used
59 | - Billing date and time
60 |
61 | ## Requirements for submission
62 |
63 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
64 | - Last Submission Date : `30th July 2020`
65 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
66 |
67 | ## How to submit solution?
68 |
69 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
70 |
71 | ## Next steps
72 |
73 | Solved this problem? Then you might want to checkout the other versions of this problem.
74 |
75 | - [Medium](../../Medium/1.%20Shopping%20Cart%20Problem/README.md)
76 | - [Hard](../../Hard/1.%20Shopping%20Cart%20Problem/README.md)
77 |
--------------------------------------------------------------------------------
/LEADERBOARD.md:
--------------------------------------------------------------------------------
1 | # Discover our Contributors here
2 |
3 | Participation🙋♀️ is important than winning but so is maintaining the high spirits 💪of the game by highlighting the top contributors🏅. So, here we present our top men/women of the **Code with GirlScript Bangalore** Program 👩💻👨💻. Keep contributing and earning recognitions🏆. Happy learning! 😃
4 |
5 | | User Name | July Score | August Score | September Score | October Score | November Score | December Score | Overall Score |
6 | | ---------------------------------------------------------------- | ---------- | ------------ | --------------- | ------------- | -------------- | --- | ------------- |
7 | | [Sri Manikanta Palakollu](https://github.com/srimani-programmer) | 60 | 0 | 30 | 75 | | | 165 |
8 | | [Anjali Patle](https://github.com/AnjaliPatle) | | | | 30 | 30 | 75 | 135 |
9 | | [Ankur Chattopadhyay](https://github.com/chttrjeankr) | 75 | 30 | | | | | 105 |
10 | | [Harsh rajput](https://github.com/4doctorstrange) | | | | 30 | 75 | | 105 |
11 | | [INDERPREET SINGH](https://github.com/CO18325) | | | 75 | 10 | | | 85 |
12 | | [Bhargav Bhatiya](https://github.com/bhargavbhatiya) | 0 | 75 | | | | | 75 |
13 | | [Damini Chauhan](https://github.com/damini31) | 60 | 10 | | | | | 70 |
14 | | [Vanshika](https://github.com/Vanshikaa00) | 30 | | 10 | 10 | 10 | | 60 |
15 | | [Varun S Athreya](https://github.com/VarunSAthreya) | | | 30 | 10 | | | 40 |
16 | | [Prachi Sabarad](https://github.com/Prachi-05) | | 10 | | 30 | | | 40 |
17 | | [Ansh Agrawal](https://github.com/AcidBurn18) | 30 | | | | 10 | | 40 |
18 | | [Aditya Abhishek](https://github.com/encarcio) | 30 | | | | | | 30 |
19 | | [Garima Singh](https://github.com/garimasingh128) | 30 | | | | | | 30 |
20 | | [Jayasurya](github.com/jsuryakt) | 30 | | | | | | 30 |
21 | | [Rishabh Upadhyay ](https://github.com/zenit-abh) | 30 | | | | | | 30 |
22 | | [Bharath C S](https://github.com/bharath-acchu) | 30 | | | | | | 30 |
23 | | [Neha Kumari](https://github.com/neha07kumari) | 30 | | | | | | 30 |
24 | | [Nikhil Sunny](https://github.com/nikhil7sunny) | 30 | | | | | | 30 |
25 | | [Pallavi savant](https://github.com/pallavisavant) | | | | 30 | | | 30 |
26 | | [Akshit Soneji](https://github.com/nikhil7sunny) | 10 | | | | | | 10 |
27 | | [Riteek jha](https://github.com/Riteek1999) | 10 | | | | | | 10 |
28 | | [Abhijit Tripathy](https://github.com/Abhijit2505) | 10 | | | | | | 10 |
29 | | [Anshumali Shaw](https://github.com/bagofcodes) | 10 | | | | | | 10 |
30 | | [Nidhi Raniyer](https://github.com/raniyer) | 10 | | | | | | 10 |
31 | | [Harshitha S A](https://github.com/Harshitha-sa) | 10 | | | | | | 10 |
32 | | [Pooja Hegde](https://github.com/poojabh08) | 10 | | | | | | 10 |
33 | | [Adithya Mallya](https://github.com/SlaYpoint) | 10 | | | | | | 10 |
34 | | [Abhishek Singh](https://github.com/IEAbhishek) | 10 | | | | | | 10 |
35 | | [Kaushki Raj](https://github.com/Kaushkiraj) | 10 | | | | | | 10 |
36 | | [shraddha prasad](https://github.com/shraddhavp/) | 10 | | | | | | 10 |
37 | | [Sweta Kyada](https://github.com/swetakyada) | | 10 | | | | | 10 |
38 |
--------------------------------------------------------------------------------
/Medium/5. IPL Management App/README.md:
--------------------------------------------------------------------------------
1 | # IPL Management App - Medium
2 |
3 | > Date : 1st November 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Round Robin Algorithm Implementation Java. Refer [this](https://stackoverflow.com/questions/26471421/round-robin-algorithm-implementation-java) (Feel free to search for similar examples in your prefered coding languages).
13 |
14 | ## Problem Statement
15 |
16 | It’s IPL season and we are all pumped about it! The matches on the field are about as competitive as the matches on our Whatsapp groups, with us enthusiastically supporting our favorite teams.
17 |
18 | To make the tournament successful, a lot of work and organization is done behind the scene to keep it organized and efficient. Help the BCCI by developing an application that **registers the teams, sets up the match fixtures and decides on the Home and Away teams** before the tournament begins.
19 |
20 | ### Inputs
21 |
22 | The app should be able to get a total number of teams playing the tournament, along with team details like the following:
23 |
24 | - Number of Teams playing the tournament:
25 | - Fill Team1 Details:
26 | - Name:
27 | - Captain:
28 | - Franchise:
29 | - Home Ground:
30 | - Fill Team2 Details:
31 | - Name:
32 | - Captain:
33 | - Franchise:
34 | - Home Ground:
35 | .
36 | .
37 | .
38 | Soo on till team **n**.
39 |
40 | ### Output
41 |
42 | The App should display the following:
43 |
44 | 1. A Table displaying Team details:
45 |
46 | | Sl No. (Autogenerate) | Team Name | Captain | Franchise | Home Ground |
47 | | --------------------- | --------- | ------- | --------- | ----------- |
48 | | | | | | |
49 |
50 | 2. A Table displaying the fixture of the matches
51 |
52 | - Here each team is supposed to play 2 matches with another team, one should be on their home ground another should be on other team’s home ground, i.e. suppose to be an away game for the team.
53 | - Fixture should be created as per [Round Robin Tournament Concept](https://www.youtube.com/watch?v=niXDrhDnGKM).
54 | - Here **Venue** should be the home ground of the Home Team.
55 |
56 | | Match Number | Home Team | Away Team | Venue |
57 | | ------------ | --------- | --------- | ----- |
58 | | | | | |
59 |
60 | ## Requirements for submission
61 |
62 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
63 | - Last Submission Date : `30th November 2020`
64 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
65 |
66 | ## How to submit solution?
67 |
68 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
69 |
70 | ## Next steps
71 |
72 | Solved this problem? Then you might want to checkout the other versions of this problem.
73 |
74 | - [Easy](../../Easy/5.%20IPL%20Management%20App/README.md)
75 | - [Hard](../../Hard/5.%20IPL%20Management%20App/README.md)
76 |
--------------------------------------------------------------------------------
/Easy/6. Escapeezy/README.md:
--------------------------------------------------------------------------------
1 | # Escapeezy (Event Booking App) - Easy
2 |
3 | > Date : 1st December 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 |
12 | ## Problem Statement
13 |
14 | Mr. Sandeep Kulhari owns an amphitheatre in bangalore. In that amphitheatre he conducts various events and skits. In the pre-covid time, his tickets used to get sold offline. But when the world got hit with covid-19, his work had to be shutted down for a long long time. Due to this,he suffered huge financial stress. Now after eight months of lockdown, Mr. Kulhari got some relief when the government permitted theatres to open.
15 |
16 | Despite this good news, Mr. Kulhari is facing some issues with regards to selling his tickets offline, as in this new world everyone is preferring online services. Mr. Kulhari needs your help in developing an application which can help him out in selling his tickets to various events.
17 |
18 | ### Operation
19 |
20 | The app should be able to allow 2 kinds of users to perform 2 operations:
21 |
22 | 1. Create an Event Hall(Admin)
23 | Admin should be able to enter the name of the event along with the number of rows & columns to design the seat allocation.
24 |
25 | #### Input
26 |
27 | - Enter Event Name: String input to enter the event’s name Eg. Janta Circus
28 | - Enter Date & Time of Event: 2nd Dec, 2020
29 | - Number of Rows: 11 (Integer)
30 | - Number of Columns: 15 (Integer)
31 | - Price per Seat in Rs. : 250 (Integer)
32 |
33 | #### Output
34 |
35 | 
36 |
37 | #### Note
38 |
39 | > If Number of Rows exceeds 26, again continue with AA, AB, AC… and so on.
40 |
41 | 2. Book Seats(Customer)
42 | Customers should be able to select available seats and the Price to be paid should be calculated as per the number of seats selected.
43 |
44 | #### Input
45 |
46 | - Enter Number of seats: 2 (Integer)
47 | - Enter Seat Numbers referring below:
48 |
49 | 
50 |
51 | #### Note
52 |
53 | > Here **`*`** states that the seat is booked. If you are using a User Interface application then feel free to use different colours or designs as per your wish to differentiate Booked & Available seats.
54 |
55 | #### Output
56 |
57 | - Display the following message Success scenarios:
58 | **Seat No. E6, E7 CONFIRMED. Price to be Paid: Rs. 500**
59 | - Display some different error messages as per your choice for Failure scenarios.
60 |
61 | ## Requirements for submission
62 |
63 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
64 | - Last Submission Date : `30th December 2020`
65 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
66 |
67 | ## How to submit solution?
68 |
69 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
70 |
71 | ## Next steps
72 |
73 | Solved this problem? Then you might want to checkout the other versions of this problem.
74 |
75 | - [Medium](../../Medium/6.%20Escapeezy//README.md)
76 | - [Hard](../../Hard/6.%20Escapeezy//README.md)
77 |
--------------------------------------------------------------------------------
/Easy/4. Digital Hospital Manager/README.md:
--------------------------------------------------------------------------------
1 | # Digital Hospital Manager - Easy
2 |
3 | > Date : 1st October 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 |
12 | ## Problem Statement
13 |
14 | Dr. Stephen Strange is the head of The Medical Association of Belgaum and is responsible to ensure the smooth functioning of the hospitals across the city. During COVID-19 crisis, the number of patients has surged significantly in one of the areas of the Belgaum, which has led to a shortage of isolation beds in that areas’ hospitals. The patients are shifted to hospitals in other areas, but it takes time to check the availability of beds based on the other conditions of the patients (like age, other illnesses, budget for stay, etc.). This in turn creates panic among the patients and their family.
15 |
16 | Dr. Strange realised the real reason is the absence of a generalised management system with hospitals following their own different protocols in the city. This leads to delay in updating information of all hospitals and patients in an ordered way at one common space. Taking this as an improvement opportunity, Dr. Strange is looking to get help from you to design an application which can help digitize such healthcare related maintenance issues.
17 |
18 | He has laid down the initial set of requirements. Please refer to the following and quickly start with the implementation before the management of the healthcare system worsens.
19 |
20 | ### Inputs
21 |
22 | The app should be able to maintain the medical record of each patient of a hospital with the following details -
23 |
24 | - Patient Full Name
25 | - Phone Number
26 | - Emergency Contact Number
27 | - Age
28 | - Gender
29 | - Blood Type
30 | - Weight
31 | - Height
32 | - Symptoms/Medical Details
33 |
34 | ### Output
35 |
36 | 1. The app should be able to display all the patients data and the total number of patients admitted
37 |
38 | | Patient ID (Autogenerate) | Patient Full Name | Phone Number | Emergency Contact Number | Age | Gender | Blood Type | Weight | Height | Symptoms/Medical Details | Date of Admission (Autofilled) |
39 | | ------------------------- | ----------------- | ------------ | ------------------------ | --- | ------ | ---------- | ------ | ------ | ------------------------ | ------------------------------ |
40 | | | | | | | | | | | | |
41 |
42 | 2. The app should be able to calculate, update and display the following statistics -
43 | - Total patients admitted on the current date
44 | - Total number of patients in hospital at the current time
45 |
46 | ## Requirements for submission
47 |
48 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
49 | - Last Submission Date : `31st October 2020`
50 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
51 | - [RSVP here](https://tinyurl.com/gsblr-hacktoberfest2020) to win\* a limited edition Hacktoberfest 👕Tee-shirt or a 🎍plant.
52 |
53 | ## How to submit solution?
54 |
55 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
56 |
57 | ## Next steps
58 |
59 | Solved this problem? Then you might want to checkout the other versions of this problem.
60 |
61 | - [Medium](../../Medium/4.%20Digital%20Hospital%20Manager/README.md)
62 | - [Hard](../../Hard/4.%20Digital%20Hospital%20Manager/README.md)
63 | - [Bonus](../../Bonus/4.%20Digital%20Hospital%20Manager/README.md)
64 |
--------------------------------------------------------------------------------
/Medium/2. Pacman Game/README.md:
--------------------------------------------------------------------------------
1 | # Pacman Game - Medium
2 |
3 | > Date : 1st August 2020
4 |
5 | ## Prerequisites
6 | - Basic data manipulation in two dimentional array / matrix.
7 | - https://beginnersbook.com/2014/01/2d-arrays-in-c-example
8 | - How to use keyboard's arrow keys as input.
9 | - For C/C++:
10 | - https://www.researchgate.net/post/How_to_use_arrow_keys_in_c_programming_language
11 | - http://cprogrampracticals.blogspot.com/2016/04/c-program-to-use-arrow-keys.html
12 | - For Python:
13 | - https://pythonhosted.org/pynput/keyboard.html
14 | - https://www.geeksforgeeks.org/python-drawing-design-using-arrow-keys-in-pygame/
15 | - for JavaScript:
16 | - https://www.geeksforgeeks.org/javascript-detecting-the-pressed-arrow-key/
17 |
18 | ## Problem Statement
19 |
20 | All of us would have played the famous ‘PACMAN GAME’ in our childhood. 😃 The time has come to write code 👨💻👩💻 for the same!
21 | The objective of the problem is to allow the Pacman to move along the walls of the maze.
22 | In this section, the Pacman needs to collect the ‘points’ as it moves in the maze. The pacman will also have the ‘ghost’ as its opponent. A final score needs to be displayed based on the number of points the Pacman was able to collect. The code written should satisfy the requirements given below.
23 |
24 | - Create a static 2D array that will represent a maze. There should be 3 types of characters stored in the 2D array.
25 | - One will represent a horizontal wall. (Ex: ‘-’)
26 | - One will represent a vertical wall. (Ex: ‘|’)
27 | - One will represent blank space. (Ex: ‘ ’)
28 | - One to represent the Pacman. (Ex: ‘@’)
29 | - Character to represent points that Pacman can collect. (Ex: ‘.’)
30 | - One to represent a ghost. (Ex: ‘&’)
31 | - Example

32 |
33 | - The 2D array must have a minimum of 10 rows and 40 columns.
34 | - When the app runs, the 2D maze should be displayed along with the horizontal & vertical walls, blank space, points, ghosts and the Pacman.
35 | - When the arrow keys are pressed the Pacman should move in the respective direction. (The Pacman obviously cannot move through the walls)
36 | - The initial score should be zero and displayed at the bottom or top of the maze (outside the maze).
37 | - When the Pacman lands on a point character, the point character should be removed and 5 points should be added to the player score.
38 | - The ghost should move automatically. The movement algorithm can be created by considering the following points:
39 | - The ghost should start moving in a random direction (left, right, up or down) and continue to move until it hits a wall.
40 | - After hitting the wall the direction of movement of that ghost should reverse.
41 | - When the pacman collides with the ghost, the game should end.
42 | - The game should end after all the points have been collected.
43 |
44 |
45 | ### Inputs
46 |
47 | The user should be able to control the pacman with arrow keys, or (W,A,S,D).
48 |
49 | ### Output
50 |
51 | The maze should be displayed on the screen and the player should be able to control the pacman.
52 |
53 | ## Requirements for submission
54 |
55 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
56 | - Last Submission Date : `30th August 2020`
57 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
58 |
59 | ## How to submit solution?
60 |
61 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
62 |
63 | ## Stuck somewhere?
64 |
65 | Then you might want to solve these versions of the problem first.
66 |
67 | - [Easy](../../Easy/2.%20Pacman%20Game/README.md)
68 |
69 | ## Next steps
70 |
71 | Solved this problem? Then you might want to checkout the other versions of this problem.
72 |
73 | - [Hard](../../Hard/2.%20Pacman%20Game/README.md)
74 |
--------------------------------------------------------------------------------
/Hard/2. Pacman Game/README.md:
--------------------------------------------------------------------------------
1 | # Pacman Game - Hard
2 |
3 | > Date : 1st August 2020
4 |
5 | ## Prerequisites
6 | - Basic data manipulation in two dimentional array / matrix.
7 | - https://beginnersbook.com/2014/01/2d-arrays-in-c-example
8 | - How to use keyboard's arrow keys as input.
9 | - For C/C++:
10 | - https://www.researchgate.net/post/How_to_use_arrow_keys_in_c_programming_language
11 | - http://cprogrampracticals.blogspot.com/2016/04/c-program-to-use-arrow-keys.html
12 | - For Python:
13 | - https://pythonhosted.org/pynput/keyboard.html
14 | - https://www.geeksforgeeks.org/python-drawing-design-using-arrow-keys-in-pygame/
15 | - for JavaScript:
16 | - https://www.geeksforgeeks.org/javascript-detecting-the-pressed-arrow-key/
17 |
18 | ## Problem Statement
19 |
20 | All of us would have played the famous ‘PACMAN GAME’ in our childhood. 😃 The time has come to write code 👨💻👩💻 for the same!
21 | The objective of the problem is to allow the Pacman to move along the walls of the maze.
22 | In this section, the Pacman needs to collect the ‘points’ as it moves in the maze. The pacman will also have the ‘ghost’ as its opponent. In addition to this, different levels (atleast 3) of the maze structure should be created and stored in the database. The message “You won” should be displayed on completion of all the levels. The code written should satisfy the requirements given below.
23 |
24 | - Create a static 2D array that will represent a maze. There should be 3 types of characters stored in the 2D array.
25 | - One will represent a horizontal wall. (Ex: ‘-’)
26 | - One will represent a vertical wall. (Ex: ‘|’)
27 | - One will represent blank space. (Ex: ‘ ’)
28 | - One to represent the Pacman. (Ex: ‘@’)
29 | - Character to represent points that Pacman can collect. (Ex: ‘.’)
30 | - One to represent a ghost. (Ex: ‘&’)
31 | - Example

32 |
33 | - Store this maze structure in a file or in the database.
34 | - Similarly, create different levels. (At least 3)
35 | - Each must have a minimum of 10 rows and 40 columns.
36 | - When the app runs, the maze should be displayed along with the horizontal & vertical walls, blank space, ghosts, and the Pacman.
37 | - When the arrow keys are pressed the Pacman should move in the respective direction. (The Pacman obviously cannot move through the walls)
38 | - When the Pacman and ghost collide, the game should end.
39 | - The initial score should be zero and displayed at the bottom or top of the maze (outside the maze).
40 | - When the Pacman lands on a point character, the point character should be removed and 5 points should be added to the player score.
41 | - The ghost should move automatically. The movement algorithm can be created by considering the following points:
42 | - The ghost should start moving in a random direction (left, right, up or down) and continue to move until it hits a wall.
43 | - After hitting the wall the direction of movement of that ghost should change to a random direction.
44 | - The game should end after all the points have been collected and move on to the next level.
45 | - After the last level is completed “Congratulations, You Won!” should be displayed.
46 |
47 | ### Inputs
48 |
49 | The user should be able to control the pacman with arrow keys, or (W,A,S,D).
50 |
51 | ### Output
52 |
53 | The maze should be displayed on the screen and the player should be able to control the pacman. Once first level is completed it should redirect to the next till all levels are completed.
54 |
55 | ## Requirements for submission
56 |
57 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
58 | - Last Submission Date : `30th August 2020`
59 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
60 |
61 | ## How to submit solution?
62 |
63 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
64 |
65 | ## Stuck somewhere?
66 |
67 | Then you might want to solve these versions of the problem first.
68 |
69 | - [Easy](../../Easy/2.%20Pacman%20Game/README.md)
70 | - [Medium](../../Medium/2.%20Pacman%20Game/README.md)
71 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | ## About the program
4 |
5 | Welcome to GirlScript Bangalore's brand new initiative! If you are a techie 👨💻👩💻, if you want to get started with open source contribution 💻, if you are looking to improve your programming skills 📈, you have landed in just the right place! ⬇
6 |
7 | The aim of this program is to help the participants explore the Open Source world and take their first step towards programming and contributing.
8 |
9 | If you are starting your journey in Free and Open Source Software Development, then this is the right place. 😄 This program is also ideal to coding enthusiasts who would like to challenge their problem solving skills.
10 |
11 | We have a range of problem statements for beginner, intermediate, and advanced levels for you to solve 📝. The problem statements are independent of any technology stacks, so you can focus on the underlying concepts.
12 |
13 | > Participants are free to use any programming language of their choice. The solution would earn contributors their badge as **THE NEOPHYTE** 🥉 on completing beginner level problem. We also have the **THE EXPLORER** 🥈 and **THE AFICIONADO** 🥇 badges on completion of the intermediate and advanced levels respectively. If your pull requests in all levels get merged, at least a week before the deadline, you can earn your exclusive **GEEK OF THE GEEKS** 🏆 special recognition badge every month!🎉🎉
14 |
15 | > 🎁🏅 These E-badges will be rewarded on completion of each level. You will also get rewarded with a bonus badge on early completion of each level! We will be using the Badgr platform for distributing Open Badges. Grab your badges by making your contribution.😃
16 |
17 | Don’t forget to fill the [participation form](https://tinyurl.com/codewithgsblr) 📃 to take part in the program, if not already done.
18 |
19 | Follow the steps/guidelines mentioned in the [CONTRIBUTING.md](CONTRIBUTING.md) file, and "Optimize and Elevate".
20 |
21 | ## Problem Statements
22 |
23 | - [Beginner Level Problem](Easy/6.%20Escapeezy//README.md)
24 | - [Intermediate Level Problem](Medium/6.%20Escapeezy//README.md)
25 | - [Advanced Level Problem](Hard/6.%20Escapeezy//README.md)
26 |
27 | ## General Guidelines
28 |
29 | - In the monthly challenges, each level may have a separate deadline that will be mentioned along with each problem statement. Eligibility of rewards is subject to strict adherence to the mentioned deadlines.
30 | - You are free to attempt any question beyond the deadline as well. However, the submission will not be eligible for rewards post the submission date.
31 | - Raise a pull request only when you are satisfied with the solution.
32 | - For each problem statement, a detailed form of the question has been provided in the readme files of the corresponding levels.
33 | - A screenshot showing the results must also be pushed along with the final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem. - Make this submission in a document format, containing both description and simulation/output screenshot(s).
34 | - Contributors who are able to complete all levels of a problem statement will have a chance to join the team of Reviewers.
35 | - The problems have been segregated in a way that you can choose the level of complexity you would like to begin with. You can directly solve the Advanced level of a problem statement, or progress towards it by attempting Beginner or Intermediate levels.
36 | - It goes without saying that plagiarism is strictly discouraged. Kindly refrain from the urge to do it.
37 |
38 | ## Note
39 |
40 | Since you are here, you should most definitely consider joining us on this ride. If you still have any doubts, listen to Richard Stallman's perspective on [Free software, free society](https://www.tedxgeneva.net/talks/richard-stallman-free-software-free-society/)
41 |
42 | Don’t forget to fill the [participation form](https://tinyurl.com/codewithgsblr) 📃 to take part in the program, if not already done.
43 |
44 | Start contributing!😊
45 |
46 | ## Resources
47 |
48 | For all the young duckings, we have posted some useful resources to go through and understand GitHub.
49 |
50 | - [GitHub Guides](https://guides.github.com/)
51 | - [Git Documentation](https://git-scm.com/docs)
52 |
53 | ## References
54 |
55 | Here are a few references for you :
56 |
57 | - One of the most important things in the FOSS world are your commits, check here to know all about it - [GitCommitMessages - OpenStack](https://wiki.openstack.org/wiki/GitCommitMessages)
58 |
--------------------------------------------------------------------------------
/Medium/6. Escapeezy/README.md:
--------------------------------------------------------------------------------
1 | # Escapeezy (Event Booking App) - Medium
2 |
3 | > Date : 1st December 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
12 | - Complex user interface for implementing different modes and features.
13 |
14 | ## Problem Statement
15 |
16 | Mr. Sandeep Kulhari owns an amphitheatre in bangalore. In that amphitheatre he conducts various events and skits. In the pre-covid time, his tickets used to get sold offline. But when the world got hit with covid-19, his work had to be shutted down for a long long time. Due to this,he suffered huge financial stress. Now after eight months of lockdown, Mr. Kulhari got some relief when the government permitted theatres to open.
17 |
18 | Despite this good news, Mr. Kulhari is facing some issues with regards to selling his tickets offline, as in this new world everyone is preferring online services. Mr. Kulhari needs your help in developing an application which can help him out in selling his tickets to various events.
19 |
20 | Mr.Kulhari has divided his theatre based on different factors, based on which the app will make the seating arrangements. Rates are charged accordingly. Kindly look into the requirements and help him out with the application.
21 |
22 | ### Operation
23 |
24 | The app should be able to allow 2 kinds of users to perform 2 operations:
25 |
26 | 1. Create an Event Hall(Admin)
27 | Admin should be able to enter the name of the event along with the number of rows & columns to design the seat allocation for various segments.
28 |
29 | #### Input
30 |
31 | - Enter Event Name: String input to enter the event’s name Eg. Janta Circus
32 | - Enter Date & Time of Event: 2nd Dec, 2020 4pm
33 | - Enter Number of Seat Allocation Segments: 3 (Integer)
34 | - Enter Name of 1st Segment: Premium
35 | - Number of Rows: 3 (Integer)
36 | - Number of Columns: 15 (Integer)
37 | - Price per Seat in Rs.: 400 (Integer)
38 | - Enter Name of 1st Segment: Executive
39 | - Number of Rows: 4 (Integer)
40 | - Number of Columns: 15 (Integer)
41 | - Price per Seat in Rs.: 300 (Integer)
42 | - Enter Name of 1st Segment: Normal
43 | - Number of Rows: 4 (Integer)
44 | - Number of Columns: 15 (Integer)
45 | - Price per Seat in Rs.: 200 (Integer)
46 |
47 | #### Output
48 |
49 | 
50 |
51 | #### Note
52 |
53 | > If Number of Rows exceeds 26, again continue with AA, AB, AC… and so on.
54 |
55 | 2. Book Seats(Customer)
56 | Customers should be able to select available seats and the Price to be paid should be calculated as per the number of seats selected in different sections of seat allocation.
57 |
58 | #### Input
59 |
60 | - Enter Number of seats: 2 (Integer)
61 | - Enter Seat Numbers referring below:
62 |
63 | 
64 |
65 | #### Note
66 |
67 | > Here **`*`** states that the seat is booked. If you are using a User Interface application then feel free to use different colours or designs as per your wish to differentiate Booked & Available seats.
68 |
69 | #### Output
70 |
71 | - Display the following message Success scenarios:
72 | **Seat No. E6, E7 CONFIRMED for JANTA CIRCUS**
73 | **Date & Time: 2nd Dec, 2020 4pm**
74 | **Price to be Paid: Rs. 600**
75 | - Display some different error messages as per your choice for Failure scenarios.
76 |
77 | #### Note
78 |
79 | > You can use files or any Database to manipulate the mentioned data
80 |
81 | ## Requirements for submission
82 |
83 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
84 | - Last Submission Date : `30th December 2020`
85 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
86 |
87 | ## How to submit solution?
88 |
89 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
90 |
91 | ## Next steps
92 |
93 | Solved this problem? Then you might want to checkout the other versions of this problem.
94 |
95 | - [Easy](../../Easy/6.%20Escapeezy//README.md)
96 | - [Hard](../../Hard/6.%20Escapeezy//README.md)
97 |
--------------------------------------------------------------------------------
/Medium/1. Shopping Cart Problem/README.md:
--------------------------------------------------------------------------------
1 | # Shopping Cart Problem - Medium
2 |
3 | > Date : 1st July 2020
4 |
5 | ## Prerequisites
6 | - Basic input output of strings and numbers.
7 | - Basic conditional statements.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store shopping items. (Depends on the language you are using)
9 | - Creating, displaying & manipulating arrays.
10 | - Basic calculation.
11 | - Getting the current date & time and displaying it in human readable form.
12 |
13 | ## Problem Statement
14 |
15 | In this section, `GadgetifyWithGSBlr` allows the customer to enter details as per the input specified. An additional parameter(distance) is added in this section that has to be taken into account for calculating the delivery charges. The app has to generate a bill accordingly containing all the details provided by the user and the total amount.
16 |
17 | - There should be a static list of shopping items along with their name, original price, discount price (if any), and weight in grams. (Total items >= 5, Discount items >=2)
18 |
19 | Example:
20 |
21 | ```
22 | Name: Basshead earphones, Original Price: Rs. 1200, Discount price: Rs. 899, Weight: 150g
23 | Name: Bluetooth computer mouse, Original Price: Rs. 600, Discount price: Rs. 499, Weight: 120g
24 | ```
25 |
26 | - When the application runs, the user must be asked the following.
27 | - Name
28 | - Phone no
29 | - Payment method `(cash/card/online)`
30 | - Select multiple shopping item and it’s quantity.
31 | `For Example, the user can select 3 basshead earphones & 2 bluetooth computer mouse`
32 | - Takeaway / Home delivery
33 | - Distance from shop to the delivery address in KM. (if Home delivery is selected)
34 | - Shipping address (if Home delivery is selected)
35 | - The shop doesn’t provide home delivery to addresses more than 50KM away. If the user selects more than 50KM, an appropriate message should be displayed.
36 | - While listing the shopping items, the application should display the original price, discount price, and the amount saved by the user if he/she buys that product.
37 | - The app should generate a bill for the selected item, including a 6% tax on the total amount.
38 | - The total amount should include a shipping charge if Home delivery is selected. The shipping charge is to be calculated as:
39 | | Distance | Price |
40 | |----------|-------------|
41 | | <= 5 KM | Free |
42 | | <= 20 KM | Rs. 30 |
43 | | <= 50 KM | Rs. 60 |
44 | | > 50 KM | No delivery |
45 | - The bill should show the total amount saved by the user if he/she bought any discounted products.
46 | - The bill should contain all the details provided by the user.
47 | - The bill should contain the shop details as well as the billing date and time.
48 |
49 | ### Inputs
50 |
51 | Input can be in any format or variation but it must include the following.
52 |
53 | - Name
54 | - Phone no
55 | - Payment method (cash/card/online)
56 | - Selected items and it's quantity
57 | - Takeaway / Home delivery
58 | - Distance from shop to the delivery address in KM. (if Home delivery is selected)
59 | - Shipping Address (if Home delivery is selected)
60 |
61 | ### Output
62 |
63 | Output will be a bill based on the given input. The bill can be in any format but it must include the following
64 |
65 | #### Static data
66 |
67 | - Shop name: `GadgetifyWithGSBlr`
68 | - Shop address: `311/5 Akshay nagar, Bangalore, Karnataka, India`
69 | - Shop contact no: `+91 9988776655`
70 |
71 | #### Variable data
72 |
73 | - Customer name
74 | - Customer phone no
75 | - Items bought, it's quantity, price & discount price
76 | - Total tax
77 | - Total shipping charge (if Home delivery is selected)
78 | - Total amount saved
79 | - Sum amount to be paid
80 | - Payment method used
81 | - Billing date and time
82 | - Shipping Address (if Home delivery is selected)
83 |
84 | ## Requirements for submission
85 |
86 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
87 | - Last Submission Date : `30th July 2020`
88 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
89 |
90 | ## How to submit solution?
91 |
92 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
93 |
94 | ## Stuck somewhere?
95 |
96 | Then you might want to solve these versions of the problem first.
97 |
98 | - [Easy](../../Easy/1.%20Shopping%20Cart%20Problem/README.md)
99 |
100 | ## Next steps
101 |
102 | Solved this problem? Then you might want to checkout the other versions of this problem.
103 |
104 | - [Hard](../../Hard/1.%20Shopping%20Cart%20Problem/README.md)
105 |
--------------------------------------------------------------------------------
/Easy/3. COVID-19 Food Supply App/README.md:
--------------------------------------------------------------------------------
1 | # COVID-19 Food Supply App - Easy
2 |
3 | > Date : 1st September 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 |
12 | ## Problem Statement
13 |
14 | Mr. Banku Yadav has just started with his NGO. During this Covid-19 pandemic, he decided to do a fundraiser to help the people in need. He found a slum nearby named Nayandahalli where he saw people who were in need of food and ration kits.
15 |
16 | Before starting with the fundraiser he thought of exploring the slum and thereby conducted a survey. When Banku Yadav reached Nayandahalli he found out that there were a lot of people and collecting each and everyone’s record manually would become a tedious process. So he thought of creating an app that will make his task easier in conducting the survey. Banku Yadav is not a tech-savvy person to build a survey app.
17 |
18 | It is your time to rise and shine as you have a golden opportunity to help Banku Yadav create an app for conducting his survey. Refer the sample input and output examples given below to create your app.
19 |
20 | ### Inputs
21 |
22 | App should allow the user to fill **multiple surveys for multiple users**. Input can be in any format or variation but it must include the following.
23 |
24 | - Aadhar Card Number:
25 | - Name:
26 | - Gender: (3 Options: Male, Female, Other)
27 | - Age:
28 | - How much rice in grams he/she eats per day?:
29 | - How much dal in grams he/she eats per day?:
30 | - Any 2 special food item required to be chosen from choices: (choices should be based on Age & Gender selected)
31 |
32 | | Age Group | Special Food Options |
33 | | ------------------------------------ | ------------------------------------------------------------------------------ |
34 | | Infants: Below 2years | Cerelac, Amul powder, Nandini Milk TetraPacks |
35 | | Children: Between 3 to 18 years | Bread, Tiger/Parle G, Nandini Milk TetraPacks, Canned Fruits, Canned Veggies |
36 | | Old Age: Above 70 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Medicine Packs |
37 | | Adult Female: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
38 | | Adult Male: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks |
39 | | Adult Other: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
40 |
41 | ### Output
42 |
43 | #### Person Info:
44 |
45 | | Age Group | No. of People |
46 | | ------------------------------------ | ------------- |
47 | | Infants: Below 2years | ? |
48 | | Children: Between 3 to 18 years | ? |
49 | | Old Age: Above 70 years | ? |
50 | | Adult Female: Between 18 to 69 years | ? |
51 | | Adult Male: Between 18 to 69 years | ? |
52 | | Adult Other: Between 18 to 69 years | ? |
53 |
54 | #### Food Info:
55 |
56 | | Food Item | Required Quantity |
57 | | ----------------------- | ----------------- |
58 | | Rice in Kg per day | ? |
59 | | Dal in Kg per day | ? |
60 | | Cerelac | ? |
61 | | Amul powder | ? |
62 | | Nandini Milk TetraPacks | ? |
63 | | Bread | ? |
64 | | Tiger/Parle G Biscuits | ? |
65 | | Canned Veggies | ? |
66 | | Canned Fruits | ? |
67 | | Medicine Packs | ? |
68 | | Calcium Sandoz Tablets | ? |
69 |
70 | ### Note:
71 |
72 | > - **Person Info Table** should display the number of people as per their age category.
73 | > - In the **Food Info Table**, the **Required Quantity** is the sum of number of food items(in kg or number of units) selected by each individual on taking the Survey.
74 |
75 | ## Requirements for submission
76 |
77 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
78 | - Last Submission Date : `30th September 2020`
79 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
80 |
81 | ## How to submit solution?
82 |
83 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
84 |
85 | ## Next steps
86 |
87 | Solved this problem? Then you might want to checkout the other versions of this problem.
88 |
89 | - [Medium](../../Medium/3.%20COVID-19%20Food%20Supply%20App/README.md)
90 | - [Hard](../../Hard/3.%20COVID-19%20Food%20Supply%20App/README.md)
91 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to CodeWithGirlscriptBangalore
2 |
3 | ## Follow the steps below to get started right away!
4 |
5 | - **Fork this repo**: You'll see a Fork button on the top right against the name of this repository. This creates an identical copy of this repository and adds it to your repositories.
6 |
7 | 
8 |
9 | - **Open the forked repository**: Navigate to your profile find the repository
10 |
11 | `github.com//code-with-girlscript-bangalore`
12 |
13 | - **Clone the repository**: Clone the repository by copying the clone link (find it against the name of the repository on the right) and using it as mentioned in below CLI command
14 |
15 | `git clone https://github.com//code-with-girlscript-bangalore`
16 |
17 | - **Move to the directory**: Move to the directory by using the below CLI command
18 |
19 | `cd code-with-girlscript-bangalore`
20 |
21 | - **Create a new branch**: Follow proper naming convention before creating your own branch. The example of the naming is as follows
22 |
23 | - **Example**: If you want to create a pull request in the Shopping Cart Problem - Easy, your branch name can be `ShoppingCartEasy`.
24 |
25 | Now, execute the following command to create your own branch
26 |
27 | `git checkout -b `
28 |
29 | - **Update the changes to repo**: Add your solution in the new branch. The solution must be in a specified format. Your code should be inside the SOLUTIONS folder of the respective problem statement. The codes/files should be inside a single folder following specific naming convention. The solution folder name should be `_`.
30 | - Root Folder
31 | - Problem Statement
32 | - Solutions
33 | - ``
34 | - **To stage the file(s)** , use the following CLI command
35 |
36 | `git add .`
37 |
38 | - **Commit the file(s)**: For locally cloned repository, use the following CLI command to commit your file(s).
39 |
40 | `git commit -m ""`
41 |
42 | For GitHub web, simply add the commit message and description at the bottom of the page to add the new file.(Please use an appropriate commit message and follow this git commit message guidelines)
43 |
44 | - **Push the file(s)**: For locally cloned repository, use the following CLI command to push your file(s).
45 |
46 | `git push -u origin `.
47 |
48 | - **Create pull request**: Please create a Pull Request(PR) from GitHub to the `solutions` branch. If you are new to creating pull requests, watch the video for reference. [Your First GitHub Pull Request (in 10 Mins)](https://www.youtube.com/watch?v=dSl_qnWO104)
49 |
50 | For GitHub web, simply move over to the original repository and click on New Pull Request and compare forked repositories. Provide appropriate description and VOILA!
51 |
52 | 
53 |
54 | 
55 |
56 | - **PR Review**: Once you have created the PR, it will be reviewed soon by the maintainers of the repository
57 |
58 | - [Yajushi Srivastava](https://github.com/yajushiSri)
59 | - [Bhanu Pratap](https://github.com/ibhanu)
60 | - [Yati Padia](https://github.com/yati1998)
61 | - [Irshad Ansari](https://github.com/irshadjsr21)
62 | - [Smile Gupta](https://github.com/smilegupta)
63 |
64 | If there are any changes suggested by the reviewers, do make the same and follow to steps to update:
65 |
66 | - stage the changes, using command: `git add .`.
67 | - commit the changes, using command: `git commit -m "Commit Message"`.
68 | - rebase the branch, using command: `git rebase master`.
69 | - squash the commits, using command: `git stash`.
70 | - push the changes, using command: `git push -u origin `.
71 |
72 | The PR with correct and optimised solution, which satisfies the deadline criteria, will be merged soon😄
73 |
74 | > If you have successfully followed these steps, you're one step closer to being a **NEOPHYTE**, **EXPLORER** or **AFICIONADO**.🥳 But don't stop, continue making contributions and improve your chances every month!
75 | > Let's build a strong community of kind developers! 👭👫👬
76 |
77 | To know more about the program and it's guidelines do check [README.md](README.md) file.
78 |
79 | A gentle reminder if you still haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃, fill it now😀. Also, [RSVP here](https://tinyurl.com/gsblr-hacktoberfest2020) to win\* a limited edition Hacktoberfest 👕Tee-shirt or a 🎍plant.
80 |
81 | Also, we love your input! We want to make contributing to this project as easy and transparent as possible. When contributing to this repository, please discuss the queries you have via issue or [email](mailto:girlscriptblr@gmail.com), with the maintainers of this repository to successfully complete the tasks.
82 |
83 | - [Yajushi Srivastava](https://github.com/yajushiSri)
84 | - [Bhanu Pratap](https://github.com/ibhanu)
85 | - [Yati Padia](https://github.com/yati1998)
86 | - [Irshad Ansari](https://github.com/irshadjsr21)
87 | - [Smile Gupta](https://github.com/smilegupta)
88 |
89 | That's it! Thank you for your contribution! 😃
90 |
--------------------------------------------------------------------------------
/Hard/5. IPL Management App/README.md:
--------------------------------------------------------------------------------
1 | # IPL Management App - Hard
2 |
3 | > Date : 1st November 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
13 | - Complex user interface for implementing different modes and features.
14 | - Round Robin Algorithm Implementation Java. Refer [this](https://stackoverflow.com/questions/26471421/round-robin-algorithm-implementation-java) (Feel free to search for similar examples in your prefered coding languages).
15 |
16 | ## Problem Statement
17 |
18 | It’s IPL season and we are all pumped about it! The matches on the field are about as competitive as the matches on our Whatsapp groups, with us enthusiastically supporting our favorite teams.
19 |
20 | To make the tournament successful, a lot of work and organization is done behind the scene to keep it organized and efficient. Help the BCCI by developing an application that keeps track of **team details, sets up match fixtures, and maintains scores & points table** as the tournament proceeds.
21 |
22 | ### Inputs
23 |
24 | The app should allow the Admin to have 2 roles:
25 |
26 | 1. **Add Teams** (should be implemented only ones):
27 | Admin should be able to get a total number of teams playing the tournament, along with team details like the following:
28 |
29 | - Number of Teams playing the tournament:
30 | - Fill Team1 Details:
31 | - Name:
32 | - Captain:
33 | - Franchise:
34 | - Home Ground:
35 | - Fill Team2 Details:
36 | - Name:
37 | - Captain:
38 | - Franchise:
39 | - Home Ground:
40 | .
41 | .
42 | .
43 | Soo on till team **n**.
44 |
45 | 2. **Update Match Results**
46 |
47 | - The Generated fixture should be stored in a File/Data table and Admin should be able to update match results after each match.
48 | - Based on the updated match results points should be allocated in another **Points Table**.
49 |
50 | ### Output
51 |
52 | The App should display the following:
53 |
54 | 1. A Table displaying Team details:
55 |
56 | | Sl No. (Autogenerate) | Team Name | Captain | Franchise | Home Ground |
57 | | --------------------- | --------- | ------- | --------- | ----------- |
58 | | | | | | |
59 |
60 | 2. A Table displaying the fixture of the matches
61 |
62 | - Here each team is supposed to play 2 matches with another team, one should be on their home ground another should be on other team’s home ground, i.e. suppose to be an away game for the team.
63 | - Fixture should be created as per [Round Robin Tournament Concept](https://www.youtube.com/watch?v=niXDrhDnGKM).
64 | - Here `Venue` should be the home ground of the Home Team.
65 | - The Table should have additional columns as follows to update match results:
66 | - **Team Won:** Winning Team name
67 | - **Result:** Result of the Match _Eg. Chennai Super Kings Won by 21 runs or Kings XI Punbaj Won by 2 wickets or Match Tied but Mumbai Indians won in Super Over_
68 | - **Man of the Match:** Main performer of the match
69 |
70 | | Match Number | Home Team | Away Team | Venue | Team Won | Result | Man of the Match |
71 | | ------------ | --------- | --------- | ----- | -------- | ------ | ---------------- |
72 | | | | | | | | |
73 |
74 | 3. Based on Match Updates a Points table should be generated as follows:
75 |
76 | - **2 points** should be awared for every win and **No Points** for every loss. Matches **won't be tied** as there will be super overs to decide the results.
77 |
78 | | Rank | Team Name | No. of Wins | No. of Losses | Points |
79 | | ---- | --------- | ----------- | ------------- | ------ |
80 | | | | | | |
81 |
82 | ### Tables or Files Required
83 |
84 | | Sl. No. | Table/ File Name | Description |
85 | | ------- | ---------------- | ------------------------------------------------------------------------------------------------------------ |
86 | | 1. | Team Details | Table/ file containing columns like Team name, Franchise, Captain, Home Ground |
87 | | 2. | Fixtures | Table/file containing columns like Home Team name, Away Team name, Venue, Team Won, Result, Man of the Match |
88 | | 3. | Points | Table/file containing columns Rank, Team name, no. of wins, no. of loss & Points scored |
89 |
90 | ## Requirements for submission
91 |
92 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
93 | - Last Submission Date : `30th November 2020`
94 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
95 |
96 | ## How to submit solution?
97 |
98 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
99 |
100 | ## Next steps
101 |
102 | Solved this problem? Then you might want to checkout the other versions of this problem.
103 |
104 | - [Easy](../../Easy/5.%20IPL%20Management%20App/README.md)
105 | - [Medium](../../Medium/5.%20IPL%20Management%20App/README.md)
106 |
--------------------------------------------------------------------------------
/Hard/6. Escapeezy/README.md:
--------------------------------------------------------------------------------
1 | # Escapeezy (Event Booking App) - Hard
2 |
3 | > Date : 1st December 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
12 | - Complex user interface for implementing different modes and features.
13 |
14 | ## Problem Statement
15 |
16 | Mr. Sandeep Kulhari owns an amphitheatre in bangalore. In that amphitheatre he conducts various events and skits. In the pre-covid time, his tickets used to get sold offline. But when the world got hit with covid-19, his work had to be shutted down for a long long time. Due to this,he suffered huge financial stress. Now after eight months of lockdown, Mr. Kulhari got some relief when the government permitted theatres to open.
17 |
18 | Despite this good news, Mr. Kulhari is facing some issues with regards to selling his tickets offline, as in this new world everyone is preferring online services. Mr. Kulhari needs your help in developing an application which can help him out in selling his tickets to various events.
19 |
20 | He wants that his app should have the option to add and view new events as an admin, and the customer should be able to book tickets for whichever event they want to attend. He will enter all the details depending on which the app will make seating arrangements and customers will be charged. Kindly have a look on the demands of Mr. Kulhari and help him out!
21 |
22 | ### Operation
23 |
24 | The app should be able to allow the following operations for different users:
25 |
26 | 1. Admin Role:
27 |
28 | - Add an Event
29 | Admin should be able to add events by entering the name of the event along with the number of rows & columns to design the seat allocation for various segments. Event details should be stored in a database or files.
30 |
31 | #### Input
32 |
33 | - Enter Event Name: String input to enter the event’s name Eg. Janta Circus
34 | - Enter Date & Time of Event: 2nd Dec, 2020 4pm
35 | - Enter Number of Seat Allocation Segments: 3 (Integer)
36 | - Enter Name of 1st Segment: Premium
37 | - Number of Rows: 3 (Integer)
38 | - Number of Columns: 15 (Integer)
39 | - Price per Seat in Rs.: 400 (Integer)
40 | - Enter Name of 1st Segment: Executive
41 | - Number of Rows: 4 (Integer)
42 | - Number of Columns: 15 (Integer)
43 | - Price per Seat in Rs.: 300 (Integer)
44 | - Enter Name of 1st Segment: Normal
45 | - Number of Rows: 4 (Integer)
46 | - Number of Columns: 15 (Integer)
47 | - Price per Seat in Rs.: 200 (Integer)
48 |
49 | #### Output
50 |
51 | 
52 |
53 | #### Note
54 |
55 | > If Number of Rows exceeds 26, again continue with AA, AB, AC… and so on.
56 |
57 | - View Multiple Events
58 |
59 | #### Input
60 |
61 | Select the Event to view details: 1. Janta Circus 2. Laxmi Bomb Movie 3. Titanic
62 | 1
63 |
64 | #### Output
65 |
66 | - Event Name: Janta Circus
67 | - Total Seats Booked in Premium: 16
68 | - Total Amount Collected from Premium: Rs.6400
69 | - Total Seats Booked in Executive: 6
70 | - Total Amount Collected from Executive: Rs.1800
71 | - Total Seats Booked in Normal: 6
72 | - Total Amount Collected from Normal: Rs.1200
73 | - Total Seats Booked: 28
74 | - Total Amount Collected: Rs.9400
75 |
76 | 
77 |
78 | 2. Customer Role:
79 |
80 | - Book Seats
81 | Customers should be able to select available seats and the Price to be paid should be calculated as per the number of seats selected in different sections of seat allocation.
82 |
83 | #### Input
84 |
85 | Select the Event to view details: 1. Janta Circus 2. Laxmi Bomb Movie 3. Titanic
86 | 1
87 |
88 | - Enter Number of seats for Janta Circus: 2 (Integer)
89 | - Enter Seat Numbers referring below:
90 |
91 | 
92 |
93 | #### Note
94 |
95 | > Here **`*`** states that the seat is booked. If you are using a User Interface application then feel free to use different colours or designs as per your wish to differentiate Booked & Available seats.
96 |
97 | #### Output
98 |
99 | - Display the following message Success scenarios:
100 | **Seat No. E6, E7 CONFIRMED for JANTA CIRCUS**
101 | **Date & Time: 2nd Dec, 2020 4pm**
102 | **Price to be Paid: Rs. 600**
103 | - Display some different error messages as per your choice for Failure scenarios.
104 |
105 | #### Note
106 |
107 | > You can use files or any Database to manipulate the mentioned data
108 |
109 | ## Requirements for submission
110 |
111 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
112 | - Last Submission Date : `30th December 2020`
113 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
114 |
115 | ## How to submit solution?
116 |
117 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
118 |
119 | ## Next steps
120 |
121 | Solved this problem? Then you might want to checkout the other versions of this problem.
122 |
123 | - [Easy](../../Easy/6.%20Escapeezy//README.md)
124 | - [Medium](../../Medium/6.%20Escapeezy//README.md)
125 |
--------------------------------------------------------------------------------
/Medium/3. COVID-19 Food Supply App/README.md:
--------------------------------------------------------------------------------
1 | # COVID-19 Food Supply App - Medium
2 |
3 | > Date : 1st September 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 |
12 | ## Problem Statement
13 |
14 | Mr. Banku Yadav has just started with his NGO. During this Covid-19 pandemic, he decided to do a fundraiser to help the people in need. He found a slum nearby named Nayandahalli where he saw people who were in need of food and ration kits.
15 |
16 | Before starting with the fundraiser he thought of exploring the slum and thereby conducted a survey. When Banku Yadav reached Nayandahalli he found out that there were a lot of people and collecting each and everyone’s record manually would become a tedious process. So he thought of creating an app that will make his task easier in conducting the survey. Banku Yadav is not a tech-savvy person to build a survey app.
17 |
18 | It is your time to rise and shine as you have a golden opportunity to help Banku Yadav create an app for conducting his survey. Your task is to help Banku Yadav in estimating the quantity of each food item along with its price and the total amount required to be funded based on the total number of people. Refer the sample input and output examples given below to create your app.
19 |
20 | #### Monthly Food Stock:
21 |
22 | | Product | Price(in Rs.) | Monthly Quantity | Total Quantity |
23 | | ----------------------------------- | ------------- | ---------------- | ------------------------- |
24 | | Rice 1Kg | 40 | 30 | Survey results X 30 |
25 | | Dal 1Kg | 65 | 30 | Survey results X 30 |
26 | | Cerelac 1 pack | 140 | 3 | Survey results X 3 |
27 | | Amul powder 1Kg | 240 | 1 | Survey results |
28 | | Nandini Milk TetraPacks 1lt | 45 | 8 | Survey results X 8 |
29 | | Bread loaf 1pack | 25 | 4 | Survey results X 4 |
30 | | Tiger/Parle G Biscuits 5pieces Pack | 3 | 30 | Survey results X 30 |
31 | | Canned Veggies | 100 | 4 | Survey results X 4 |
32 | | Canned Fruits | 100 | 4 | Survey results X 4 |
33 | | Medicine Packs | 500 | 1 | Survey results |
34 | | Calcium Sandoz Tablets | 500 | 1 | As per the survey results |
35 |
36 | ### Note
37 |
38 | > - **Survey results** are as per Required Quantity
39 | > - **Required Quantity** is the total number of food items(in kg or number of units) selected by each individual on taking the Survey.
40 | > - **Monthly Quantity** is the total number of Food item packets to be distributed to an individual for a Month/30 days.
41 |
42 | ### Inputs
43 |
44 | App should allow the user to fill **multiple surveys for multiple users**. Input can be in any format or variation but it must include the following.
45 |
46 | - Aadhar Card Number:
47 | - Name:
48 | - Gender: (3 Options: Male, Female, Other)
49 | - Age:
50 | - How much rice in grams he/she eats per day?:
51 | - How much dal in grams he/she eats per day?:
52 | - Any 2 special food item required to be chosen from choices: (choices should be based on Age & Gender selected)
53 |
54 | | Age Group | Special Food Options |
55 | | ------------------------------------ | ------------------------------------------------------------------------------ |
56 | | Infants: Below 2years | Cerelac, Amul powder, Nandini Milk TetraPacks |
57 | | Children: Between 3 to 18 years | Bread, Tiger/Parle G, Nandini Milk TetraPacks, Canned Fruits, Canned Veggies |
58 | | Old Age: Above 70 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Medicine Packs |
59 | | Adult Female: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
60 | | Adult Male: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks |
61 | | Adult Other: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
62 |
63 | ### Output
64 |
65 | #### Person Info:
66 |
67 | | Age Group | No. of People |
68 | | ------------------------------------ | ------------- |
69 | | Infants: Below 2years | ? |
70 | | Children: Between 3 to 18 years | ? |
71 | | Old Age: Above 70 years | ? |
72 | | Adult Female: Between 18 to 69 years | ? |
73 | | Adult Male: Between 18 to 69 years | ? |
74 | | Adult Other: Between 18 to 69 years | ? |
75 |
76 | #### Food Info:
77 |
78 | | Food Item | Required Quantity | Monthly Quantity | Price (in Rs.) |
79 | | ----------------------- | ----------------- | ---------------- | -------------- |
80 | | Rice in Kg per day | ? | ? | ? |
81 | | Dal in Kg per day | ? | ? | ? |
82 | | Cerelac | ? | ? | ? |
83 | | Amul powder | ? | ? | ? |
84 | | Nandini Milk TetraPacks | ? | ? | ? |
85 | | Bread | ? | ? | ? |
86 | | Tiger/Parle G Biscuits | ? | ? | ? |
87 | | Canned Veggies | ? | ? | ? |
88 | | Canned Fruits | ? | ? | ? |
89 | | Medicine Packs | ? | ? | ? |
90 | | Calcium Sandoz Tablets | ? | ? | ? |
91 |
92 | #### Total Amount Required = Sum of Prices
93 |
94 | ### Note
95 |
96 | > - **Person Info Table** should display the number of people as per their age category.
97 | > - In the **Food Info Table**, the **Required Quantity** is the sum of number of food items(in kg or number of units) selected by each individual on taking the Survey.
98 | > - Calculate the following by referring to the **Monthly Food Stock Table**(as above)
99 | > - **Quantity** = Required Quantity as per Survey X No. of Packets per Food Item
100 | > - **Price** = Required Quantity X Monthly Quantity X Price from Monthly Food Stock
101 | > - Total Amount can be calculated based on the Sum of Prices in the Food Info Table.
102 |
103 | ### Example for Calculating Food Info Table & Total Amount Required
104 |
105 | After taking survey of 3 Individuals we got to know
106 |
107 | - Person A enters or selects
108 | - 750grams of Rice per day
109 | - 400grams of Dal per day
110 | - Nandini Milk TetraPacks
111 | - Canned Fruits
112 | - Person B enters or selects
113 | - 500grams of Rice per day
114 | - 200grams of Dal per day
115 | - Bread
116 | - Tiger/Parle G Biscuits
117 | - Person C enters or selects
118 | - 600grams of Rice per day
119 | - 250grams of Dal per day
120 | - Nandini Milk TetraPacks
121 | - Calcium Sandoz Tablets
122 |
123 | #### Food Info:
124 |
125 | | Food Item | Required Quantity | Monthly Quantity | `Price(Rs.) = RequiredQuamtity * Monthly Quantity * Price per unit` |
126 | | --------------------------- | ---------------------------------- | ---------------- | ------------------------------------------------------------------- |
127 | | Rice in Kg per day | `750+500+600 = 1850grams = 1.85kg` | 30 | `1.85*30*40 = 2220` |
128 | | Dal in Kg per day | `400+200+250 = 850grams = 0.85Kg` | 30 | `0.85*30*65 = 1657.5` |
129 | | Canned Fruits | 1 | 4 | `1*4*100 = 400` |
130 | | Tiger/Parle G Biscuits | 1 | 30 | `1*30*3 = 90` |
131 | | Nandini Milk TetraPacks 1lt | 2 | 8 | `2*8*45 = 720` |
132 | | Bread | 1 | 4 | `1*4*25 = 100` |
133 | | Calcium Sandoz Tablets | 1 | 1 | `1*1*500 = 500` |
134 |
135 | #### Total Amount Required = Sum of Prices = 2220+1657.5+400+90+720+100+500 = Rs. 5687.5
136 |
137 | ## Requirements for submission
138 |
139 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
140 | - Last Submission Date : `30th September 2020`
141 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
142 |
143 | ## How to submit solution?
144 |
145 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
146 |
147 | ## Next steps
148 |
149 | Solved this problem? Then you might want to checkout the other versions of this problem.
150 |
151 | - [Easy](../../Easy/3.%20COVID-19%20Food%20Supply%20App/README.md)
152 | - [Hard](../../Hard/3.%20COVID-19%20Food%20Supply%20App/README.md)
153 |
--------------------------------------------------------------------------------
/Medium/4. Digital Hospital Manager/README.md:
--------------------------------------------------------------------------------
1 | # Digital Hospital Manager - Medium
2 |
3 | > Date : 1st October 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
13 | - Complex user interface for implementing different modes and features.
14 |
15 | ## Problem Statement
16 |
17 | Dr. Stephen Strange is the head of The Medical Association of Belgaum and is responsible to ensure the smooth functioning of the hospitals across the city. During COVID-19 crisis, the number of patients has surged significantly in one of the areas of the Belgaum, which has led to a shortage of isolation beds in that areas’ hospitals. The patients are shifted to hospitals in other areas, but it takes time to check the availability of beds based on the other conditions of the patients (like age, other illnesses, budget for stay, etc.). This in turn creates panic among the patients and their family.
18 |
19 | Dr. Strange realised the real reason is the absence of a generalised management system with hospitals following their own different protocols in the city. This leads to delay in updating information of all hospitals and patients in an ordered way at one common space. Taking this as an improvement opportunity, Dr. Strange is looking to get help from you to design an application which can help digitize such healthcare related maintenance issues.
20 |
21 | He has laid down a set of requirements. Please refer to the following and quickly start with the implementation before the management of the healthcare system worsens.
22 |
23 | ### Inputs
24 |
25 | The app should be able to maintain the medical record of each patient of a hospital with the following details
26 |
27 | - Patient Full Name
28 | - Phone Number
29 | - Emergency Contact Number
30 | - Age
31 | - Gender
32 | - Blood Type
33 | - Weight
34 | - Height
35 | - Symptoms
36 | - Fever - Yes/No
37 | - Headache - Yes/No
38 | - Fatigue, weakness - Yes/No
39 | - Stuffy/runny nose - Yes/No
40 | - Sneezing - Yes/No
41 | - Sore Throat - Yes/No
42 | - Cough - Yes/No
43 | - Shortness of breath- Yes/No
44 | - Bluish lips or face- Yes/No
45 | - Constant pain or pressure in your chest - Yes/No
46 | - Medical Details/comments
47 |
48 | ### Operations to be performed on input
49 |
50 | 1. Depending upon the symptoms and age, map the patient to proper severity level as given in table below.
51 |
52 | | Symptom | Age Group | Severity Level |
53 | | --------------------------------------- | -------------- | -------------- |
54 | | Fever | 0 to 16 years | Mild |
55 | | | 16 to 45 years | Mild |
56 | | | 46 and above | Emergency |
57 | | Headache | 0 to 16 years | Mild |
58 | | | 16 to 45 years | Mild |
59 | | | 46 and above | Emergency |
60 | | Fatigue, weakness | 0 to 16 years | Mild |
61 | | | 16 to 45 years | Mild |
62 | | | 46 and above | Emergency |
63 | | Stuffy/runny nose | 0 to 16 years | Mild |
64 | | | 16 to 45 years | Mild |
65 | | | 46 and above | Emergency |
66 | | Sneezing | 0 to 16 years | Mild |
67 | | | 16 to 45 years | Mild |
68 | | | 46 and above | Emergency |
69 | | Sore Throat | 0 to 16 years | Mild |
70 | | | 16 to 45 years | Mild |
71 | | | 46 and above | Emergency |
72 | | Cough | 0 to 16 years | Mild |
73 | | | 16 to 45 years | Mild |
74 | | | 46 and above | Emergency |
75 | | Shortness of breath | 0 to 16 years | Emergency |
76 | | | 16 to 45 years | Emergency |
77 | | | 46 and above | Emergency |
78 | | Bluish lips or face | 0 to 16 years | Emergency |
79 | | | 16 to 45 years | Emergency |
80 | | | 46 and above | Emergency |
81 | | Constant pain or pressure in your chest | 0 to 16 years | Emergency |
82 | | | 16 to 45 years | Emergency |
83 | | | 46 and above | Emergency |
84 |
85 | 2. The app should be able to add new patients when prompted.
86 | 3. The app should be able to update the patient details when prompted but only the below fields should be accessible for updation.
87 | - Medical details/comments
88 | - Discharge Date
89 | - Discharge comment- Deceased or Cured (If Deceased, Add date and time of death as well)
90 | 4. The app should be able to fetch one patient’s details by Patient ID or Patient Name
91 |
92 | ### Output
93 |
94 | 1. The app should display an option for : **ADD PATIENT** and perform related operations.
95 | 2. The app should display an option for : **UPDATE PATIENT** DETAILS and perform related operations.
96 | 3. The app should be able to **display all** the patients data, along with the case severity as below-
97 |
98 | | Patient ID (Autogenerate) | Patient Full Name | Phone Number | Emergency Contact Number | Age | Gender | Blood Type | Weight | Height | Symptoms | \*Severity | Medical Details | Date of Admission (Autofilled) | Date of Discharge | Discharge comments | Date and Time of Death(If Deceased) |
99 | | ------------------------- | ----------------- | ------------ | ------------------------ | --- | ------ | ---------- | ------ | ------ | -------- | ---------- | --------------- | ------------------------------ | ----------------- | ------------------ | ----------------------------------- |
100 | | | | | | | | | | | | | | | | | |
101 |
102 | #### Note
103 |
104 | > \*Severity as **Mild or Emergency** need to be fetched from the Symptoms table based on patient symptoms
105 |
106 | 4. The app should display an option for Search Patient by ID or Name and the output should be displayed for that patient in the format shown below
107 |
108 | | Inputs | Values |
109 | | -------------------------------------------------------------------------------------------- | ------ |
110 | | Patient ID | |
111 | | Patient Full Name | |
112 | | Phone Number | |
113 | | Emergency Contact Number | |
114 | | Age | |
115 | | Gender | |
116 | | Blood Type | |
117 | | Weight | |
118 | | Height | |
119 | | Symptoms | |
120 | | Severity(Mild or Emergency)- To be fetched from the Symptoms table based on patient symptoms | |
121 | | Medical details | |
122 | | Date of admission | |
123 | | Date of discharge | |
124 | | Discharge comments | |
125 | | Date and Time of Death(If Deceased) | |
126 |
127 | 5. The app should be able to calculate, update and display the following statistics -
128 | - Total patients admitted on the current date
129 | - Total patients discharged on current date
130 | - Total number of patients in hospital at the current time
131 |
132 | ### Tables or Files Required
133 |
134 | | Serial No. | Table/File Name | Description |
135 | | ---------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
136 | | 1. | SymptomsDetails | Above mentioned severity details as per age and symptoms can be stored in a table/file |
137 | | 2. | PatientDetails | Patient details need to be added/updated in a table/file to display the list of Patients or an individual Patient detail admitted to the hospital |
138 |
139 | > Added here are the minimum required Tables/Files. These are just for your reference. You are free to use more tables/files or columns/fields depending upon the need and the approach you take..
140 |
141 | ## Requirements for submission
142 |
143 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
144 | - Last Submission Date : `31st October 2020`
145 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
146 | - [RSVP here](https://tinyurl.com/gsblr-hacktoberfest2020) to win\* a limited edition Hacktoberfest 👕Tee-shirt or a 🎍plant.
147 |
148 | ## How to submit solution?
149 |
150 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
151 |
152 | ## Next steps
153 |
154 | Solved this problem? Then you might want to checkout the other versions of this problem.
155 |
156 | - [Easy](../../Easy/4.%20Digital%20Hospital%20Manager/README.md)
157 | - [Hard](../../Hard/4.%20Digital%20Hospital%20Manager/README.md)
158 | - [Bonus](../../Bonus/4.%20Digital%20Hospital%20Manager/README.md)
159 |
--------------------------------------------------------------------------------
/Hard/1. Shopping Cart Problem/README.md:
--------------------------------------------------------------------------------
1 | # Shopping Cart Problem - Hard
2 |
3 | > Date : 1st July 2020
4 |
5 | ## Prerequisites
6 | - Basic input output of strings and numbers.
7 | - Nested conditional statements.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store shopping items. (Depends on the language you are using)
9 | - Creating, displaying & manipulating arrays.
10 | - Array sorting & filtering.
11 | - Basic calculation.
12 | - Getting the current date & time and displaying it in human readable form.
13 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
14 | - Complex user interface for implementing different modes and features.
15 |
16 | ## Problem Statement
17 |
18 | In this section, `GadgetifyWithGSBlr` features two exclusive modes:
19 |
20 | 1. ‘Vendor mode’ which allows the admin to perform various tasks like adding shopping items, viewing and filtering customer’s orders and changing the status of the orders.
21 |
22 | 2. ‘Customer mode’ is for the user to create new orders taking into account additional parameters like distance and Order ID(for the customers to track the status of their orders). The functionality for checking the status of previous orders should be added.The customer should be able to retrieve data after restarting the app.
23 |
24 | The app has to generate a bill accordingly containing all the details provided by the user and the total amount. The appropriate status of the orders has to be included.
25 |
26 | ### Vendor mode
27 |
28 | - Vendor can do the following tasks:
29 | - Add shopping category
30 | - Add shopping item
31 | - View all customer orders and filter & sort them based on status (status can be ‘in progress’, ‘completed’, ‘canceled’), billing date, total amount, delivery option.
32 | - View all shopping categories and filter & sort them with name.
33 | - View all shopping items and filter & sort them with name, category, original price, discount price.
34 | - Change order status.
35 | - All the shopping items, categories and orders should have unique IDs.
36 | - Shopping items must include
37 | - Name
38 | - Original price
39 | - Discount price
40 | - Weight in grams
41 | - All the data should be stored in such a way that it is retrieved even after the app restarts. (It can be achieved by using file storage, database storage, etc).
42 |
43 | ### Customer mode
44 |
45 | - Customer can perform the following tasks
46 | - Create a new order
47 | - Check the status of a previous order
48 |
49 | #### Creating an order
50 |
51 | - When the application runs, the user must be asked the following.
52 | - Name
53 | - Phone no
54 | - Payment method `(cash/card/online)`
55 | - Select multiple shopping items and it’s quantity.
56 | `For Example, the user can select 3 basshead earphones & 2 bluetooth computer mouse`
57 | - Takeaway / Home delivery
58 | - Distance from shop to the delivery address in KM. (if Home delivery is selected)
59 | - Shipping Address (if Home delivery is selected)
60 | - The shopping items should be displayed category wise as stored by the verdor.
61 | - While listing the shopping items, the application should display the original price, discounted price, and the amount saved by the user if he/she buys that product.
62 | - The shop doesn’t provide home delivery to addresses more than 50KM away. If the user selects a distance more than 50KM, an appropriate message should be displayed.
63 | - The app should generate a bill for the selected item(s), including a 6% tax on the total amount.
64 | - The total amount should include a shipping charge if Home delivery is selected. The shipping charge is to be calculated as:
65 | | Distance | Price |
66 | |----------|-------------|
67 | | <= 5 KM | Free |
68 | | <= 20 KM | Rs. 30 |
69 | | <= 50 KM | Rs. 60 |
70 | | > 50 KM | No delivery |
71 | - The bill should show the total amount saved by the user if he/she bought any discount products.
72 | - The bill should contain all the details provided by the user.
73 | - The bill should contain the shop details as well as the billing date and time.
74 | - Each order should have a unique ‘Order ID’ such that the user can use to check the status. This Order ID should be automatically generated by the application when an order is created.
75 | - The default status of the order should be ‘in progress’ on order creation.
76 | - All the data should be stored in such a way that it is retrieved even after the app restarts. (It can be achieved by using file storage, database storage, etc).
77 |
78 | #### Checking order status
79 |
80 | - The customer should enter the order ID and the app should return the bill (as in ‘create order’) along with the current order status.
81 |
82 | ### Vendor Inputs & Output
83 |
84 | Input & output can be in any format or variation but it must include the following.
85 |
86 | | Sl. No. | Feature | Input | Output |
87 | | ------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
88 | | **1.** | **Add shopping category** | - Name | The added shopping category:
- Name
- Category ID (unique ID automatically generated by the application) |
89 | | **2.** | **Add shopping item** | - Name
- Original price
- Discount price
- Weight
- Category ID | The added shopping item:
- Name
- Original price
- Discount price
- Weight
- Category ID |
90 | | **3.** | **List shopping item** | The vendor should be able to sort and filter the shopping items based on the following parameters:
- Name
- Original price
- Discount price
- Weight
- Category ID | A list of shopping items with the following parameters
- Name
- Original price
- Discount price
- Weight
- Category ID |
91 | | **4.** | **List shopping category** | The vendor should be able to sort and filter the shopping categories based on the following parameters:
- Name | A list of shopping categories with the following parameters
- Name
- Category ID |
92 | | **5.** | **List orders** | All the filtering & sorting parameters for listing orders. The vendor may or may not select these parameters.
- Order ID
- Order status
- Billing date
- Total amount
- Delivery option | A list of orders with the following parameter
- Order ID
- Order status
- Billing date & time
- Total amount
- Delivery option
- Order status (‘in progress’, ‘completed’, ‘canceled’)
- Payment method used |
93 | | **6.** | **Change order status** | - Order ID
- New status (‘in progress’, ‘completed’, ‘canceled’) | The added order:
- Order ID
- Order status
- Billing date & time
- Total amount
- Delivery option
- Order status (‘in progress’, ‘completed’, ‘canceled’)
- Payment method used |
94 |
95 | ### Customer Inputs & Output
96 |
97 | Input & output can be in any format or variation but it must include the following.
98 |
99 | | Sl. No. | Feature | Input | Output |
100 | | ------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
101 | | **1.** | **Create order** | - Name
- Phone no
- Payment method (cash/card/online)
- Selected items and it's quantity
- Takeaway / Home delivery
- Distance from shop to the delivery address in KM. (if Home delivery is selected)
- Shipping Address (if Home delivery is selected) | A generated bill which contains the following.
Static data
- Shop name: `GadgetifyWithGSBlr`
- Shop address: `311/5 Akshay nagar, Bangalore, Karnataka, India`
- Shop contact no: `+91 9988776655`
Variable data
- Order ID
- Customer name
- Customer phone no
- Items bought, it's quantity, price & discount price
- Total tax
- Total shipping charge (if Home delivery is selected)
- Total amount saved
- Sum amount to be paid
- Payment method used
- Billing date and time
- Shipping Address (if Home delivery is selected)
- Order status |
102 | | **2.** | **Check order status** | - Order ID | Same as above |
103 |
104 | ## Requirements for submission
105 |
106 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
107 | - Last Submission Date : `30th July 2020`
108 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
109 |
110 | ## How to submit solution?
111 |
112 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
113 |
114 | ## Stuck somewhere?
115 |
116 | Then you might want to solve these versions of the problem first.
117 |
118 | - [Easy](../../Easy/1.%20Shopping%20Cart%20Problem/README.md)
119 | - [Medium](../../Medium/1.%20Shopping%20Cart%20Problem/README.md)
120 |
--------------------------------------------------------------------------------
/Hard/3. COVID-19 Food Supply App/README.md:
--------------------------------------------------------------------------------
1 | # COVID-19 Food Supply App - Hard
2 |
3 | > Date : 1st September 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Basic calculation.
13 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
14 | - Complex user interface for implementing different modes and features.
15 |
16 | ## Problem Statement
17 |
18 | Mr. Banku Yadav has just started with his NGO. During this Covid-19 pandemic, he decided to do a fundraiser to help the people in need. He found a slum nearby named Nayandahalli where he saw people who were in need of food and ration kits.
19 |
20 | Before starting with the fundraiser he thought of exploring the slum and thereby conducted a survey. When Banku Yadav reached Nayandahalli he found out that there were a lot of people and collecting each and everyone’s record manually would become a tedious process. So he thought of creating an app that will make his task easier in conducting the survey. Banku Yadav is not a tech-savvy person to build a survey app.
21 |
22 | It is your time to rise and shine as you have a golden opportunity to help Banku Yadav create an app for conducting his survey. Banku Yadav’s app proved to be successful in estimating the quantity of each food item along with its price and the total amount required to be funded based on the total number of people.
23 |
24 | The state government noticed Banku Yadav’s efforts and got impressed with his idea. The government wants him to do the same for other slums as well. So Banku Yadav approaches you for updating the app. Now you should automate the Survey App so that records of more slums and a variety of food items can be maintained. While collecting survey records of each individual you should also collect their slum’s name. The app should store details in the form of a database or files.
25 |
26 | Your task is to create an App that should support the following functionalities:
27 |
28 | **Two types of Users:**
29 |
30 | 1. **Admin**
31 |
32 | - **Add/Update Slum Records**
33 |
34 | - App should ask the user to fill the **Slum Name** & **Description**(general slum locality address) and details should be stored in a table/file.
35 | - The Table/file named **Slum Details** should maintain fields/columns like **Id, Slum Name, Description**.
36 | - App should check if **Name** already exists in the table/file or not. If Slum name already exists, it should just update the record in place of creating a new one to avoid redundancy of records.
37 |
38 | - **Update Food Products with Prices per quantity**
39 |
40 | - App should allow the user to fill **Monthly Food Stock** details like **Product Name, Price & Monthly Quantity**.
41 | > Here **Monthly Quantity** is the total number of Food item packets to be distributed to an individual for a Month/30 days.
42 | - The Table/file named **Monthly Food Stock** should maintain fields like **Id, Product Name & Monthly Quantity**.
43 |
44 | - **Estimate Total Quantity of food products & Total Amount Required**
45 |
46 | - **Fetch Food Info By Area Name**: User should just enter the Slum Name and the App should return the following as Output:
47 |
48 | ### Output
49 |
50 | #### Person Info:
51 |
52 | | Age Group | No. of People |
53 | | ------------------------------------ | ------------- |
54 | | Infants: Below 2years | ? |
55 | | Children: Between 3 to 18 years | ? |
56 | | Old Age: Above 70 years | ? |
57 | | Adult Female: Between 18 to 69 years | ? |
58 | | Adult Male: Between 18 to 69 years | ? |
59 | | Adult Other: Between 18 to 69 years | ? |
60 |
61 | #### Food Info:
62 |
63 | | Food Item | Required Quantity | Monthly Quantity | Price (in Rs.) |
64 | | ----------------------- | ----------------- | ---------------- | -------------- |
65 | | Rice in Kg per day | ? | ? | ? |
66 | | Dal in Kg per day | ? | ? | ? |
67 | | Cerelac | ? | ? | ? |
68 | | Amul powder | ? | ? | ? |
69 | | Nandini Milk TetraPacks | ? | ? | ? |
70 | | Bread | ? | ? | ? |
71 | | Tiger/Parle G Biscuits | ? | ? | ? |
72 | | Canned Veggies | ? | ? | ? |
73 | | Canned Fruits | ? | ? | ? |
74 | | Medicine Packs | ? | ? | ? |
75 | | Calcium Sandoz Tablets | ? | ? | ? |
76 |
77 | #### Total Amount Required = Sum of Prices
78 |
79 | ### Note
80 |
81 | > - **Person Info Table** should display the number of people as per their age category.
82 | > - In the **Food Info Table**, the **Required Quantity** is the sum of number of food items(in kg or number of units) selected by all individual on taking the Survey.
83 | > - Calculate the following by referring to the **Monthly Food Stock Table**(as created from above **Update Food Products with Prices per quantity** functionality)
84 | > - **Quantity** = Required Quantity as per Survey X No. of Packets per Food Item
85 | > - **Price** = Required Quantity X Monthly Quantity X Price from Monthly Food Stock Table
86 | > - **Total Amount** can be calculated based on the Sum of Prices in the Food Info Table.
87 |
88 | ### Example for Calculating Food Info Table & Total Amount Required
89 |
90 | After taking survey of 3 Individuals we got to know
91 |
92 | - Person A enters or selects
93 | - 750grams of Rice per day
94 | - 400grams of Dal per day
95 | - Nandini Milk TetraPacks
96 | - Canned Fruits
97 | - Person B enters or selects
98 | - 500grams of Rice per day
99 | - 200grams of Dal per day
100 | - Bread
101 | - Tiger/Parle G Biscuits
102 | - Person C enters or selects
103 | - 600grams of Rice per day
104 | - 250grams of Dal per day
105 | - Nandini Milk TetraPacks
106 | - Calcium Sandoz Tablets
107 |
108 | #### Food Info:
109 |
110 | | Food Item | Required Quantity | Monthly Quantity | `Price(Rs.) = RequiredQuamtity * Monthly Quantity * Price per unit` |
111 | | --------------------------- | ---------------------------------- | ---------------- | ------------------------------------------------------------------- |
112 | | Rice in Kg per day | `750+500+600 = 1850grams = 1.85kg` | 30 | `1.85*30*40 = 2220` |
113 | | Dal in Kg per day | `400+200+250 = 850grams = 0.85Kg` | 30 | `0.85*30*65 = 1657. 5` |
114 | | Canned Fruits | 1 | 4 | `1*4*100 = 400` |
115 | | Tiger/Parle G Biscuits | 1 | 30 | `1*30*3 = 90` |
116 | | Nandini Milk TetraPacks 1lt | 2 | 8 | `2*8*45 = 720` |
117 | | Bread | 1 | 4 | `1*4*25 = 100` |
118 | | Calcium Sandoz Tablets | 1 | 1 | `1*1*500 = 500` |
119 |
120 | #### Total Amount Required = Sum of Prices = 2220+1657.5+400+90+720+100+500 = Rs. 5687.5
121 |
122 | - **Fetch Food Info By Individual's Id(Aadhar Card Number)**: The User should just enter Individual’s Id and the App should return Individual's Info as output along with the food products that need to be provided to him/her.
123 |
124 | ### Example of Output Fetching Food Info by Individual’s Id
125 |
126 | - Aadhar Card Number: 12345
127 | - Name: Raju Kumar
128 | - Gender: Male
129 | - Age: 37
130 | - Slum Name: Nayandahalli
131 |
132 | #### Individual's Food Info:
133 |
134 | | Food Item | Quantity as per Survey | Monthly Quantity |
135 | | ----------------------- | ---------------------- | ---------------- |
136 | | Rice | 0.75 Kg | 22.5 Kg |
137 | | Dal | 0.4 Kg | 12 Kg |
138 | | Canned Fruits | 1 | 4 |
139 | | Nandini Milk Tetra Pack | 1 | 8 |
140 |
141 | 2. **Survey Taker**
142 |
143 | - **Take Survey**
144 |
145 | - The User should be able to fill **multiple surveys for multiple users** as per following inputs.
146 |
147 | ### Inputs
148 |
149 | Input can be in any format or variation but it must include the following.
150 |
151 | - Aadhar Card Number:
152 | - Name:
153 | - Gender: (3 Options: Male, Female, Other)
154 | - Age:
155 | - Slum Name: (List of Options from Slum Details table/file)
156 | - How much rice in grams he/she eats per day?:
157 | - How much dal in grams he/she eats per day?:
158 | - Any 2 special food item required to be chosen from choices: (choices should be based on Age & Gender selected)
159 |
160 | | Age Group | Special Food Options |
161 | | ------------------------------------ | ------------------------------------------------------------------------------ |
162 | | Infants: Below 2years | Cerelac, Amul powder, Nandini Milk TetraPacks |
163 | | Children: Between 3 to 18 years | Bread, Tiger/Parle G, Nandini Milk TetraPacks, Canned Fruits, Canned Veggies |
164 | | Old Age: Above 70 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Medicine Packs |
165 | | Adult Female: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
166 | | Adult Male: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks |
167 | | Adult Other: Between 18 to 69 years | Canned Fruits, Canned Veggies, Nandini Milk TetraPacks, Calcium Sandoz Tablets |
168 |
169 | - The records filled by the user should be stored in a Table/file and has to support fields/columns like **Aadhar Card Number, Name, Age, Gender, Slum Id**(fetched from Slum Details Table), **Rice Per Day, Dal Per Day, Special Food Item 1, Special Food Item 2**.
170 | - After the records are updated in the table, the app should reply with the message **“Thank You for taking the Survey!”**
171 | - App should also check if this particular user had already taken the survey earlier from the table based on User’s **Aadhar Card Number**. If it is found that the user had already taken the survey earlier, then the app shouldn’t store the user details again in the table/file and reply with the message **“User had already taken the Survey earlier!”**.
172 |
173 | ### Tables or Files Required
174 |
175 | | Serial No. | Table/File Name | Description |
176 | | ---------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
177 | | 1. | SlumDetails | Slum details to be added/updated here so as to display the list of slums to select from when Survey Taker fills the survey. |
178 | | 2. | SpecialFoodItems | Special Food Items list to be displayed as options for different Age Groupes taking the Survey. |
179 | | 3. | MonthlyFoodStock | Monthly Food Stock to add Prices for the food items & required quantity of items to be provided to an individual for a period of 30days or a month. |
180 | | 4. | SurveyRecords | Survey details entered by the Survey Taker should be stored here. |
181 |
182 | > Added here are the minimum required Tables/Files. These are just for your reference. You are free to use more tables/files or columns/fields depending upon the need and the approach you take..
183 |
184 | ## Requirements for submission
185 |
186 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
187 | - Last Submission Date : `30th September 2020`
188 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
189 |
190 | ## How to submit solution?
191 |
192 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
193 |
194 | ## Next steps
195 |
196 | Solved this problem? Then you might want to checkout the other versions of this problem.
197 |
198 | - [Easy](../../Easy/3.%20COVID-19%20Food%20Supply%20App/README.md)
199 | - [Medium](../../Medium/3.%20COVID-19%20Food%20Supply%20App/README.md)
200 |
--------------------------------------------------------------------------------
/Hard/4. Digital Hospital Manager/README.md:
--------------------------------------------------------------------------------
1 | # Digital Hospital Manager - Hard
2 |
3 | > Date : 1st October 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Basic calculation.
13 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
14 | - Complex user interface for implementing different modes and features.
15 |
16 | ## Problem Statement
17 |
18 | Dr. Stephen Strange is the head of The Medical Association of Belgaum and is responsible to ensure the smooth functioning of the hospitals across the city. During COVID-19 crisis, the number of patients has surged significantly in one of the areas of the Belgaum, which has led to a shortage of isolation beds in that areas’ hospitals. The patients are shifted to hospitals in other areas, but it takes time to check the availability of beds based on the other conditions of the patients (like age, other illnesses, budget for stay, etc.). This in turn creates panic among the patients and their family.
19 |
20 | Dr. Strange realised the real reason is the absence of a generalised management system with hospitals following their own different protocols in the city. This leads to delay in updating information of all hospitals and patients in an ordered way at one common space. Taking this as an improvement opportunity, Dr. Strange is looking to get help from you to design an application which can help digitize such healthcare related maintenance issues.
21 |
22 | Dr. Strange wishes to implement two sides to the app based on the type of user : Hospital Admin and Patient. **Hospital Admin** can access the app portal and perform operations on behalf of the hospital, etc. **Patient** can also access the app portal for his/her own individual use. Please refer to the following and quickly start with the implementation before the management of the healthcare system worsens.
23 |
24 | ### Inputs
25 |
26 | 1. The app should be able to record the hospitals’ details through Registration Form with following fields as input
27 |
28 | - Hospital Name
29 | - Address
30 | - Area
31 | - City
32 | - State
33 | - Country
34 | - PIN
35 | - Total Capacity- Number of Beds
36 |
37 | 2. The app should be able to maintain the medical record of each patient of a hospital with the following details
38 | - Hospital Name(Select from a list of registered hospitals)
39 | - Patient Full Name
40 | - Phone Number
41 | - Emergency Contact Number
42 | - Age
43 | - Gender
44 | - Blood Type
45 | - Weight
46 | - Height
47 | - Symptoms
48 | - Fever - Yes/No
49 | - Headache - Yes/No
50 | - Fatigue, weakness - Yes/No
51 | - Stuffy/runny nose - Yes/No
52 | - Sneezing - Yes/No
53 | - Sore Throat - Yes/No
54 | - Cough - Yes/No
55 | - Shortness of breath- Yes/No
56 | - Bluish lips or face- Yes/No
57 | - Constant pain or pressure in your chest - Yes/No
58 | - Medical Details/comments
59 |
60 | ### Operations to be performed on input
61 |
62 | #### End User : HOSPITAL ADMIN
63 |
64 | 1. Depending upon the **symptoms and age**, map the patient to proper severity level as given in table below.
65 |
66 | | Symptom | Age Group | Severity Level |
67 | | --------------------------------------- | -------------- | -------------- |
68 | | Fever | 0 to 16 years | Mild |
69 | | | 16 to 45 years | Mild |
70 | | | 46 and above | Emergency |
71 | | Headache | 0 to 16 years | Mild |
72 | | | 16 to 45 years | Mild |
73 | | | 46 and above | Emergency |
74 | | Fatigue, weakness | 0 to 16 years | Mild |
75 | | | 16 to 45 years | Mild |
76 | | | 46 and above | Emergency |
77 | | Stuffy/runny nose | 0 to 16 years | Mild |
78 | | | 16 to 45 years | Mild |
79 | | | 46 and above | Emergency |
80 | | Sneezing | 0 to 16 years | Mild |
81 | | | 16 to 45 years | Mild |
82 | | | 46 and above | Emergency |
83 | | Sore Throat | 0 to 16 years | Mild |
84 | | | 16 to 45 years | Mild |
85 | | | 46 and above | Emergency |
86 | | Cough | 0 to 16 years | Mild |
87 | | | 16 to 45 years | Mild |
88 | | | 46 and above | Emergency |
89 | | Shortness of breath | 0 to 16 years | Emergency |
90 | | | 16 to 45 years | Emergency |
91 | | | 46 and above | Emergency |
92 | | Bluish lips or face | 0 to 16 years | Emergency |
93 | | | 16 to 45 years | Emergency |
94 | | | 46 and above | Emergency |
95 | | Constant pain or pressure in your chest | 0 to 16 years | Emergency |
96 | | | 16 to 45 years | Emergency |
97 | | | 46 and above | Emergency |
98 |
99 | 2. Admin can register/add his/her hospital over the portal.
100 | 3. Admin can select his/her hospital from the list of registered hospitals and perform the following operations
101 |
102 | - Admin should be able to add new patients (according to details described in input).
103 | - Admin should be able to update the patient details when prompted but only the below fields should be accessible for updation.
104 | - Medical details/comments
105 | - Discharge Date
106 | - Discharge comment- Deceased or Cured (If Deceased, Add date and time of death as well)
107 |
108 | 4. Admin can get a list of **all** patients in the hospital (Display all patients) as given in the below table
109 |
110 | | Hospital ID (Autogenerate) | Patient ID (Autogenerate) | Patient Full Name | Phone Number | Emergency Contact Number | Age | Gender | Blood Type | Weight | Height | Symptoms | \*Severity | Medical Details | Date of Admission (Autofilled) | Date of Discharge | Discharge comments | Date and Time of Death(If Deceased) |
111 | | -------------------------- | ------------------------- | ----------------- | ------------ | ------------------------ | --- | ------ | ---------- | ------ | ------ | -------- | ---------- | --------------- | ------------------------------ | ----------------- | ------------------ | ----------------------------------- |
112 | | | | | | | | | | | | | | | | | | |
113 |
114 | #### Note
115 |
116 | > \*Severity as **Mild or Emergency** need to be fetched from the Symptoms table based on patient symptoms
117 |
118 | 5. Admin should be able to Search Patient by ID or Name as per selected hospital and fetch that one patient’s record in the format shown below
119 |
120 | | Inputs | Values |
121 | | -------------------------------------------------------------------------------------------- | ------ |
122 | | Hospital Name | |
123 | | Patient ID | |
124 | | Patient Full Name | |
125 | | Phone Number | |
126 | | Emergency Contact Number | |
127 | | Age | |
128 | | Gender | |
129 | | Blood Type | |
130 | | Weight | |
131 | | Height | |
132 | | Symptoms | |
133 | | Severity(Mild or Emergency)- To be fetched from the Symptoms table based on patient symptoms | |
134 | | Medical details | |
135 | | Date of admission | |
136 | | Date of discharge | |
137 | | Discharge comments | |
138 | | Date and Time of Death(If Deceased) | |
139 |
140 | 6. The app should be able to calculate, update and display the following statistics -
141 | - Total patients admitted on the current date
142 | - Total patients discharged on current date
143 | - Total number of patients in hospital at the current time
144 |
145 | #### End User : PATIENT
146 |
147 | 1. The patient should be able to fetch **all the hospitals** as per beds available based on the filters `(Filters : Name , Area name , City)` selected in the following format
148 |
149 | | Hospital Name | Address(Area, City, State, Country, PIN) | Number of Available Beds |
150 | | ------------- | ---------------------------------------- | ------------------------ |
151 | | | | |
152 |
153 | 2. If a patient is admitted to a hospital, he/she should be able to fetch personal medical record in the following format by entering his/her **Patient ID**
154 |
155 | | Inputs | Values |
156 | | -------------------------------------------------------------------------------------------- | ------ |
157 | | Hospital Name | |
158 | | Patient ID | |
159 | | Patient Full Name | |
160 | | Phone Number | |
161 | | Emergency Contact Number | |
162 | | Age | |
163 | | Gender | |
164 | | Blood Type | |
165 | | Weight | |
166 | | Height | |
167 | | Symptoms | |
168 | | Severity(Mild or Emergency)- To be fetched from the Symptoms table based on patient symptoms | |
169 | | Medical details | |
170 | | Date of admission | |
171 | | Date of discharge | |
172 | | Discharge comments | |
173 | | Date and Time of Death(If Deceased) | |
174 |
175 | ### Tables or Files Required
176 |
177 | | Serial No. | Table/File Name | Description |
178 | | ---------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
179 | | 1. | SymptomsDetails | Above mentioned severity details as per age and symptoms can be stored in a table/file |
180 | | 2. | HospitalDetails | Hospital details like name, address and number of beds avaliable should be stored in a table/file |
181 | | 3. | PatientDetails | Patient details need to be added/updated in a table/file to display the list of Patients or an individual Patient detail admitted to the hospital |
182 |
183 | > Added here are the minimum required Tables/Files. These are just for your reference. You are free to use more tables/files or columns/fields depending upon the need and the approach you take..
184 |
185 | ## Requirements for submission
186 |
187 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
188 | - Last Submission Date : `31st October 2020`
189 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
190 | - [RSVP here](https://tinyurl.com/gsblr-hacktoberfest2020) to win\* a limited edition Hacktoberfest 👕Tee-shirt or a 🎍plant.
191 |
192 | ## How to submit solution?
193 |
194 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
195 |
196 | ## Next steps
197 |
198 | Solved this problem? Then you might want to checkout the other versions of this problem.
199 |
200 | - [Easy](../../Easy/4.%20Digital%20Hospital%20Manager/README.md)
201 | - [Medium](../../Medium/4.%20Digital%20Hospital%20Manager/README.md)
202 | - [Bonus](../../Bonus/4.%20Digital%20Hospital%20Manager/README.md)
203 |
--------------------------------------------------------------------------------
/Bonus/4. Digital Hospital Manager/README.md:
--------------------------------------------------------------------------------
1 | # Digital Hospital Manager - Bonus
2 |
3 | > Date : 1st October 2020
4 |
5 | ## Prerequisites
6 |
7 | - Basic input output of strings and numbers.
8 | - One of `Class`/`Object`/`Dictionary`/`Map` to store survey details. (Depends on the language you are using)
9 | - Creating and displaying arrays.
10 | - Basic calculation.
11 | - Array filtering.
12 | - Basic calculation.
13 | - Reading and writing data to permanent storage. (files, database, etc) Refer [this](http://www.cplusplus.com/doc/tutorial/files/) for using files in C++.
14 | - Complex user interface for implementing different modes and features.
15 |
16 | ## Problem Statement
17 |
18 | Dr. Stephen Strange is the head of The Medical Association of Belgaum and is responsible to ensure the smooth functioning of the hospitals across the city. During COVID-19 crisis, the number of patients has surged significantly in one of the areas of the Belgaum, which has led to a shortage of isolation beds in that areas’ hospitals. The patients are shifted to hospitals in other areas, but it takes time to check the availability of beds based on the other conditions of the patients (like age, other illnesses, budget for stay, etc.). This in turn creates panic among the patients and their family.
19 |
20 | Dr. Strange realised the real reason is the absence of a generalised management system with hospitals following their own different protocols in the city. This leads to delay in updating information of all hospitals and patients in an ordered way at one common space. Taking this as an improvement opportunity, Dr. Strange is looking to get help from you to design an application which can help digitize such healthcare related maintenance issues.
21 |
22 | Dr. Strange has laid down a set of requirement for the app keeping in mind three type of end users - **Hospital Admin, Patient and Doctors**. Please refer to the following and quickly start with the implementation before the management of the healthcare system worsens.
23 |
24 | ### Inputs
25 |
26 | 1. The app should be able to record the hospitals’ details through Registration Form with following fields as input
27 |
28 | - Hospital Name
29 | - Address
30 | - Area
31 | - City
32 | - State
33 | - Country
34 | - PIN
35 | - Total Capacity- Number of Beds
36 |
37 | 2. The app should be able to maintain the medical record of each patient of a hospital with the following details
38 |
39 | - Hospital Name(Select from a list of registered hospitals)
40 | - Patient Full Name
41 | - Phone Number
42 | - Emergency Contact Number
43 | - Age
44 | - Gender
45 | - Blood Type
46 | - Weight
47 | - Height
48 | - Symptoms
49 | - Fever - Yes/No
50 | - Headache - Yes/No
51 | - Fatigue, weakness - Yes/No
52 | - Stuffy/runny nose - Yes/No
53 | - Sneezing - Yes/No
54 | - Sore Throat - Yes/No
55 | - Cough - Yes/No
56 | - Shortness of breath- Yes/No
57 | - Bluish lips or face- Yes/No
58 | - Constant pain or pressure in your chest - Yes/No
59 | - Medical Details/comments
60 |
61 | 3. The app should let the Doctors register themselves with the following details -
62 |
63 | - Name
64 | - Qualification
65 | - Specialization
66 | - Experience(in years)
67 |
68 | ### Operations to be performed on input
69 |
70 | #### End User : HOSPITAL ADMIN
71 |
72 | 1. Depending upon the **symptoms and age**, map the patient to proper severity level as given in table below.
73 |
74 | | Symptom | Age Group | Severity Level |
75 | | --------------------------------------- | -------------- | -------------- |
76 | | Fever | 0 to 16 years | Mild |
77 | | | 16 to 45 years | Mild |
78 | | | 46 and above | Emergency |
79 | | Headache | 0 to 16 years | Mild |
80 | | | 16 to 45 years | Mild |
81 | | | 46 and above | Emergency |
82 | | Fatigue, weakness | 0 to 16 years | Mild |
83 | | | 16 to 45 years | Mild |
84 | | | 46 and above | Emergency |
85 | | Stuffy/runny nose | 0 to 16 years | Mild |
86 | | | 16 to 45 years | Mild |
87 | | | 46 and above | Emergency |
88 | | Sneezing | 0 to 16 years | Mild |
89 | | | 16 to 45 years | Mild |
90 | | | 46 and above | Emergency |
91 | | Sore Throat | 0 to 16 years | Mild |
92 | | | 16 to 45 years | Mild |
93 | | | 46 and above | Emergency |
94 | | Cough | 0 to 16 years | Mild |
95 | | | 16 to 45 years | Mild |
96 | | | 46 and above | Emergency |
97 | | Shortness of breath | 0 to 16 years | Emergency |
98 | | | 16 to 45 years | Emergency |
99 | | | 46 and above | Emergency |
100 | | Bluish lips or face | 0 to 16 years | Emergency |
101 | | | 16 to 45 years | Emergency |
102 | | | 46 and above | Emergency |
103 | | Constant pain or pressure in your chest | 0 to 16 years | Emergency |
104 | | | 16 to 45 years | Emergency |
105 | | | 46 and above | Emergency |
106 |
107 | 2. Admin can register/add his/her hospital over the portal.
108 | 3. Admin can select his/her hospital from the list of registered hospitals and perform the following operations
109 |
110 | - Admin should be able to add new patients (according to details described in input).
111 | - Admin should be able to update the patient details when prompted but only the below fields should be
112 | - Assign a Doctor from list of Doctors registered to the Hospital
113 | - Medical details/comments
114 | - Discharge Date
115 | - Discharge comment- Deceased or Cured (If Deceased, Add date and time of death as well)
116 |
117 | 4. Admin can get a list of **all** patients in the hospital (Display all patients) as given in the below table
118 |
119 | | Hospital ID (Autogenerate) | Patient ID (Autogenerate) | Patient Full Name | Phone Number | Emergency Contact Number | Age | Gender | Blood Type | Weight | Height | Symptoms | \*Severity | Doctor Assigned (Name) | Medical Details | Date of Admission (Autofilled) | Date of Discharge | Discharge comments | Date and Time of Death(If Deceased) |
120 | | -------------------------- | ------------------------- | ----------------- | ------------ | ------------------------ | --- | ------ | ---------- | ------ | ------ | -------- | ---------- | ---------------------- | --------------- | ------------------------------ | ----------------- | ------------------ | ----------------------------------- |
121 | | | | | | | | | | | | | | | | | | | |
122 |
123 | #### Note
124 |
125 | > \*Severity as **Mild or Emergency** need to be fetched from the Symptoms table based on patient symptoms
126 |
127 | 5. Admin should be able to **Search Patient by ID or Name** as per selected hospital and fetch that one patient’s record in the format shown below
128 |
129 | | Inputs | Values |
130 | | -------------------------------------------------------------------------------------------- | ------ |
131 | | Hospital Name | |
132 | | Patient ID | |
133 | | Patient Full Name | |
134 | | Phone Number | |
135 | | Emergency Contact Number | |
136 | | Age | |
137 | | Gender | |
138 | | Blood Type | |
139 | | Weight | |
140 | | Height | |
141 | | Symptoms | |
142 | | Severity(Mild or Emergency)- To be fetched from the Symptoms table based on patient symptoms | |
143 | | Doctor Assigned (Name) | |
144 | | Medical details | |
145 | | Date of admission | |
146 | | Date of discharge | |
147 | | Discharge comments | |
148 | | Date and Time of Death(If Deceased) | |
149 |
150 | 6. The app should be able to calculate, update and display the following statistics -
151 | - Total patients admitted on the current date
152 | - Total patients discharged on current date
153 | - Total number of patients in hospital at the current time
154 |
155 | #### End User : PATIENT
156 |
157 | 1. The patient should be able to fetch **all the hospitals** as per beds available based on the filters `(Filters : Name , Area name , City)` selected in the following format
158 |
159 | | Hospital Name | Address(Area, City, State, Country, PIN) | Number of Available Beds |
160 | | ------------- | ---------------------------------------- | ------------------------ |
161 | | | | |
162 |
163 | 2. If a patient is admitted to a hospital, he/she should be able to fetch personal medical record in the following format by entering his/her **Patient ID**
164 |
165 | | Inputs | Values |
166 | | -------------------------------------------------------------------------------------------- | ------ |
167 | | Hospital Name | |
168 | | Patient ID | |
169 | | Patient Full Name | |
170 | | Phone Number | |
171 | | Emergency Contact Number | |
172 | | Age | |
173 | | Gender | |
174 | | Blood Type | |
175 | | Weight | |
176 | | Height | |
177 | | Symptoms | |
178 | | Severity(Mild or Emergency)- To be fetched from the Symptoms table based on patient symptoms | |
179 | | Doctor Assigned (Name) | |
180 | | Medical details | |
181 | | Date of admission | |
182 | | Date of discharge | |
183 | | Discharge comments | |
184 | | Date and Time of Death(If Deceased) | |
185 |
186 | #### End User : DOCTOR
187 |
188 | 1. The doctor should be able to register himself/herself with the details described in the Input section.
189 | 2. The doctor can choose to serve any number of hospitals among the list of hospitals displayed by the app. Therefore, the app should give an option to the doctor to add the hospital to his associated hospitals’ list.
190 | 3. The app should give an option to delete a hospital among the list of associated hospitals.
191 | 4. The doctor should be able to view the list of hospitals which he/she is associated with currently in the following format.
192 |
193 | | Hospital Name | Address(Area, City, State, Country, PIN) | Number of Patients Assigned |
194 | | ------------- | ---------------------------------------- | --------------------------- |
195 | | | | |
196 |
197 | 5. The doctor should be able to fetch the records of the patients that are assigned to him/her in the following format
198 |
199 | | Hospital ID (Autogenerate) | Patient ID (Autogenerate) | Patient Full Name | Phone Number | Emergency Contact Number | Age | Gender | Blood Type | Weight | Height | Symptoms | Severity | Medical Details | Date of Admission (Autofilled) | Date of Discharge | Discharge comments | Date and Time of Death(If Deceased) |
200 | | -------------------------- | ------------------------- | ----------------- | ------------ | ------------------------ | --- | ------ | ---------- | ------ | ------ | -------- | -------- | --------------- | ------------------------------ | ----------------- | ------------------ | ----------------------------------- |
201 | | | | | | | | | | | | | | | | | | |
202 |
203 | ### Tables or Files Required
204 |
205 | | Serial No. | Table/File Name | Description |
206 | | ---------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
207 | | 1. | SymptomsDetails | Above mentioned severity details as per age and symptoms can be stored in a table/file |
208 | | 2. | HospitalDetails | Hospital's details like name, address and number of beds avaliable should be stored in a table/file |
209 | | 3. | PatientDetails | Patient's details need to be added/updated in a table/file to display the list of Patients or an individual Patient detail admitted to the hospital |
210 | | 4. | DoctorDetails | Doctor's details like Name, Qualification, Specialization and Experience(in years) should be stored in a table/file |
211 | | 5. | HospitalDoctorMapper | This table/file to map multiple doctors to multiple hospitals |
212 |
213 | > Added here are the minimum required Tables/Files. These are just for your reference. You are free to use more tables/files or columns/fields depending upon the need and the approach you take..
214 |
215 | ## Requirements for submission
216 |
217 | - A document containing a screenshot showing the results must also be pushed along with final submission. A brief description(not more than 4-5 lines/100 words) should be included containing the approach used for solving the problem.
218 | - Last Submission Date : `31st October 2020`
219 | - If you haven’t filled our [participation form](https://tinyurl.com/codewithgsblr) 📃yet, fill it now.
220 | - [RSVP here](https://tinyurl.com/gsblr-hacktoberfest2020) to win\* a limited edition Hacktoberfest 👕Tee-shirt or a 🎍plant.
221 |
222 | ## How to submit solution?
223 |
224 | Follow the steps mentioned in [this](../../CONTRIBUTING.md) file to submit your solution.
225 |
226 | ## Next steps
227 |
228 | Solved this problem? Then you might want to checkout the other versions of this problem.
229 |
230 | - [Easy](../../Easy/4.%20Digital%20Hospital%20Manager/README.md)
231 | - [Medium](../../Medium/4.%20Digital%20Hospital%20Manager/README.md)
232 | - [Hard](../../Hard/4.%20Digital%20Hospital%20Manager/README.md)
233 |
234 |
--------------------------------------------------------------------------------