├── 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
![Example image](../../assets/images/pacmanGameEasy.jpeg) 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 | ![Escapeezy Easy Create Event Output](../../assets/images/escapeezyEasyCreateEventOutput.png) 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 | ![Escapeezy Easy Book Seat Output](../../assets/images/escapeezyEasyBookSeatOutput.png) 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
![Example image](../../assets/images/pacmanGameMedium.png) 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
![Example image](../../assets/images/pacmanGameHard.png) 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 | ![Code with GirlScript Bangalore Logo](assets/images/cwgsblrl.png) 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 | ![Escapeezy Medium Create Event Output](../../assets/images/escapeezyHardBookSeatOutput.png) 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 | ![Escapeezy Hard Book Seat Output](../../assets/images/escapeezyHardCreateEventOutput.png) 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 | ![Fork Example](assets/images/fork.png) 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 | ![Pull Request](assets/images/pr.png) 53 | 54 | ![Pull Request and Compare](assets/images/pr_compare.png) 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 | ![Escapeezy Hard Create Event Output](../../assets/images/escapeezyHardBookSeatOutput.png) 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 | ![Escapeezy Hard Book Seat Output](../../assets/images/escapeezyHardCreateEventOutput.png) 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 | ![Escapeezy Hard Book Seat Output](../../assets/images/escapeezyHardCreateEventOutput.png) 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 | --------------------------------------------------------------------------------