Task Manger ApiLast Updated on May 3, 2021
It's a task manager API
The first User has to create or log in to view or create any task he owns. All the task and user data are stored in MongoDB Atlas (By using Mongoose Library), at the time of account creation a welcome mail is sent to the user ( By Sendgrid ), all the routes are handled by ExpressJS.
user can also upload their profile image.
To run this project follow these commands
Make sure you have your own sendgrid api key and jwt sceret word ready in .env file
//After cloning the directory, ---For Dev Server cd learning-express-mongoDB && npm i && npm run dev --For Testing npm run test
For Testing the functionality of the API I have used jest and supertest
Share with someone who needs it
Web Base Application Heart Failure Prediction SystemLast Updated on May 3, 2021
In this situation, approximately 17 million people kill globally per year in the whole world because of cardiovascular disease, and they mainly exhibit myocardial-exhibit myocardial infarction and heart failure. Heart failure (HF) occurs when the heart cannot pump enough blood to meet the needs of the body.
In this heart prediction problem statement, we are trying to predict whether the patient's heart muscle pumps blood properly or not using Logistic Regression. In this project, a dataset is downloaded from the UCI repository and this dataset is real. this dataset is collected from one of the most famous hospitals is in the United Kingdom (UK) in 2015 and there are 299 patient records and 12 features(attribute) and one label. Based on that 12 features, we will predict whether the patient's heart working properly or not.
In this problem statement, we analyze a dataset of 299 patients with heart failure collected in 2015. We apply several machine learning & classifiers to both predict the patient’s survival, and rank the features corresponding to the most important risk factors. We also perform an alternative feature ranking analysis by employing traditional biostatistics tests and compare these results with those provided by the machine learning algorithms. Since both feature ranking approaches clearly identify serum creatinine and ejection fraction as the two most relevant features, we then build the machine learning survival prediction models on these two factors alone.
For model building we use various library packages like Pandas, Scikit learns (sklearn), matplotlib, Seaborn, Tensorflow, Keras, etc., then we will use data description, Data description involves carrying out initial analysis on the data to understand more about the data, its source, volume, attributes, and relationships. Once these details are documented, any shortcomings if noted should be informed to relevant personnel. after that, we use the data cleaning method for cleaning the dataset to check if there are any missing values or not and we split the dataset into training & testing purposes with 70%, 30% criteria. Then the next step is Model Building, The process of model building is also known as training the model using data and features from our dataset. A combination of data (features) and Machine Learning algorithms together give us a model that tries to generalize on the training data and give necessary results in the form of insights and/or predictions. Generally, various algorithms are used to try out multiple modeling approaches on the same data to solve the same problem to get the best model that performs and gives outputs that are the closest to the business success criteria. Key things to keep track of here are the models created, model parameters being used, and their results. And the last step is to analyze the result in this step we check our model score or accuracy by using Confusion Matrix and Model Score. For this model, we got 80% accuracy. In the future, we try to improve that accuracy. For model deployment, we use the python flask and based on that we build the web-based application.
Fantasy Cricket GameLast Updated on May 3, 2021
It is an online game where you create a virtual team of real cricket players and score points depending on how your chosen players perform in real life matches. To win a tournament, you must try and get the maximum points and the No. 1 rank amongst other participants. Here's how a Fantasy Cricket game may look like.
1 Opening screen of the application. You can see the players of each category by selecting the category. To begin with, the selection is disabled until a new team is created from the Manage Teams menu. A pop up asking the name of the team appears.
2 The toolbar menu options which allow you to create a new team, open an existing team, save your team and finally evaluate the score of a saved team.
3 After clicking create Team, the left box is populated with player names. As you select a different category, the corresponding list of players is displayed.
4 On double-clicking each player name, the right box gets populated. Points available and used are displayed accordingly.
5 Message if the game logic is not followed
6 Pop-up on clicking Evaluate Score. You can select your team here and the match for which the players' performance is compared.
7 The final score for your fantasy team based on the match selected.
My Rewards - Alexa SkillLast Updated on May 3, 2021
An Alexa skill to reward kids for good behavior.
After building http://eFamilyBoard.com I decided to purchase an Alexa Show (2nd gen) for comparison. eFamilyBoard has a few nicer features but over all the Alexa is much more powerful and scalable. One heavily used feature was the sticker board on eFamilyBoard that didn't have a comparable skill on Alexa. As a result, I decided to build My Rewards skill to replace it.
What it does
It allows families and teachers to reward kids for good behavior. The user ultimately decides what to do with the rewards. Personally, our kids earn $5 after they've earned 10 total rewards, then they start over. The user can add recipients and give multiple rewards at a time. For example, "Alexa give John 5 stickers" or "Alexa take away 2 stickers from John". And if you don't know what reward type of reward to give or take away you can always simply say "rewards" in the place of the type of reward (e.g. football, sticker, heart, unicorn, truck, cookie, doughnut, etc).
How I built it
I built it with the ASK CLI and Visual Studio Code. I started with the sample hello world app and refactored it to utilize typescript, express, and ngrok to run locally. I also used mocha with chai for unit tests that run and must pass before I can deploy to AWS.
Challenges I ran into
I learned to get stated by taking a course on Udemy but they didn't use typescript and deployed to AWS for every change. That would take FOREVER to debug and build efficiently. I setup a simple express app and use ngrok to route calls to my local machine. This allows me to talk to my Alexa and debug by stepping through the code in VS Code.
Accomplishments that I'm proud of
Project setup, local debugging with typescript, and tests with 90%+ code coverage. Not only does it work for voice but it also supports display templates to show the user what rewards each participant has earned. I was going to add ISP down the road but decided to do it from the start and it ended up being easier than expected. For being my first Alexa app I think the app works extremely well and my kids started to utilize it with no learning curve.
What I learned
Being my first Alexa app I learned a TON. From how to simply use Alexa (still learning tricks) to how to interact with voice commands. I've also never used DynamoDB but the Alexa SDK made that super easy.
What's next for My Rewards
Add support for more languages. My family has been using it for development but exited to see what others think of it.
Loan PredictionLast Updated on May 3, 2021
A Company wants to automate the loan eligibility process (real time) based on customer detail provided while filling online application form. These details are Gender, Marital Status, Education, Number of Dependents, Income, Loan Amount, Credit History and others. To automate this process, they have provided a dataset to identify the customers segments that are eligible for loan amount so that they can specifically target these customers. So in this project our main objective is to predict whether a individual is eligible for loan or not based on given dataset.
For simplicity i divided my projects into small parts-
- Data Collection :- I collected data from 'Anylitical Vidhya' as a CSV file. We have two CSV file one is train data which is used for training the data and other is test data which is used for prediction based on training of model.
- Import Libraries:- I import differnt Sklearn package for algorithm and different tasks.
- Reading data:- i read the data using pandas 'read csv()' function.
- Data Preprocessing -: In this part i first found missing values then i remove a column or imputed some value (mean, mode, median) According to the amount of data missing for a particular column.
I checked the unique value in each column. Then i did label encoding to convert all string types data to integer value. I used dummie function to convert each unique value to different columns . I find out correlation matrix which shows the correlation between columns to each other.
Then i split the data. I did analysis on each column and row of dataset.
Here i selected a classifier algorithm because it is a classification problem i.e. in this problem target value is of categorial datatype.
Then i create a model . I trained that model using Logistic regression Algorithm , which is a classification algorithm. I feed training dataset to model using Logistic regression algorithm. After creating model i did similiar data preprocessing to test dataset . And then i feed test dataset to trained model which predict the values of this test dataset. And then i found accuracy of this model using actual target value which is given in training dataset. and predict target value which we predict from test dataset.
After this i used another algorithm which is random forest classifier. i did traied the model using random forest classifier and then calculate the accuracy.
I compared the accuracy of both algorithm and i preffered algorithm which had better accuracy.
In this project i got 78.03% accuracy when i create model using random forest classifier and got 80.06% when i create model using logistic regression.
Voice Controlled Car(Micro-Python)Last Updated on May 3, 2021
The Android Application is connected to the Bluetooth module (HC-05)present on the Car via Bluetooth. The commands are sent to the car using push buttons or voice commands present on the android application. At the receiving end two dc motors are interfaced to the microcontroller where they are used for the movement of the vehicle. The RF transmitter of the Bluetooth can take either switch press or voice commands which are converted to encoded digital data for the advantage of adequate range (up to 100 meters) from the car. The receiver decodes the data before feeding it to another microcontroller to drive DC motors via motor driver IC for necessary work. This technology has an advantage over long communication range as compared to RF technology. Further the project can be developed using IoT technology where a user can control the car from any corner of the world. Voice recognition uses recordings of human voices, but they do different things with it. Voice recognition stripes out personal differences to detect the words. Speech recognition typically disregards the language and meaning to detect the physical person behind the speech. For our project, if we want to make it user friendly then Voice Recognition is the best methodology to control this car. The proposed topic involves voice recognizing. Voice recognition is the process of capturing spoken words and commands using a microphone or telephone and converting them into a digitally stored set of words. Two factors decide the accuracy of the proposed voice recognition system: Accuracy in detecting the human words and processing those words at the desired speed so that the commands are executed with the least delay.