<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.5">Jekyll</generator><link href="https://ankit.tech/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ankit.tech/" rel="alternate" type="text/html" /><updated>2024-07-22T15:06:13+00:00</updated><id>https://ankit.tech/feed.xml</id><title type="html">Ankit Gupta</title><subtitle>Portfolio Site</subtitle><entry><title type="html">Fingerprint Payment</title><link href="https://ankit.tech/fingerprint-payment/" rel="alternate" type="text/html" title="Fingerprint Payment" /><published>2019-07-07T10:10:00+00:00</published><updated>2019-07-07T10:10:00+00:00</updated><id>https://ankit.tech/fingerprint-payment</id><content type="html" xml:base="https://ankit.tech/fingerprint-payment/"><![CDATA[<p><img src="../assets/images/fingerprint_reader.jpg" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>Kotlin</li>
  <li>Java</li>
  <li>Android</li>
</ul>

<hr />
<p>During my summer at Square, I was in a class of about 60 interns. While we socialized reguarly for lunches, game nights, and exploring the bay area, Intern Hack Week was when we all spent copious amounts of time together. Leading up to Intern Hack Week, we self-organized into teams of three to five people and each came up with project ideas related to Square’s existing products. My team and I decided we wanted to enable payments with a fingerprint.<br />
We decided that connecting a USB fingerpritn reader to an Android phone would be the most straightforward way of implementing this technology. Seeing as I was on the Connected Devices Experience team at Square, I played a leading role on my hack week team. I had the best understanding of how we were going to transfer and interpret data sent by the fingerprint reader to the phone. We struggled a lot with finding free libraries that would allow us to interface with the fingerprint reader, which became our biggest hurdle, but once that issue got resolved, we were relatively smooth from that point. The fingerprint reader sent data in the form of a bitmap, so we were easily able to compare results.<br />
The code we wrote was in Kotlin and Java, but to link a fingerprint to a specific person, we had to create a separate SQL database that associated a bitmap with a credit card on file. Obviously, the way we stored this data was not secure and not usable for production level code, but we were able to get a proof of concept working!<br />
While working on this project, I thought a lot about whether or not this project was even something consumers would want. Personally, the idea of a company storing my fingerprint data is disconcerting. I am not sure what the legality of private companies storing fingerprint data is (or if such privacy laws even exist) but that is definitely a future step that this project would need if it were ever considered for production.<br />
Unfortunately I do not own the code that was written for this project because it was directly affiliated with Square.</p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="Kotlin" /><category term="Java" /><category term="Android" /><summary type="html"><![CDATA[Fingerprint Payment]]></summary></entry><entry><title type="html">React Betting Website</title><link href="https://ankit.tech/react-betting-website/" rel="alternate" type="text/html" title="React Betting Website" /><published>2018-11-29T10:10:00+00:00</published><updated>2018-11-29T10:10:00+00:00</updated><id>https://ankit.tech/react-betting-website</id><content type="html" xml:base="https://ankit.tech/react-betting-website/"><![CDATA[<p><img src="../assets/images/betting.png" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>JavaScript</li>
  <li>React</li>
  <li>Node.js</li>
  <li>Bootstrap</li>
  <li>Amazon EC2</li>
  <li>AJAX</li>
</ul>

<hr />
<p>This is another project that I co-created in my Rapid Prototype Development and Creative Programming course. It was our final project, so we did not have any guidelines to follow- we were given free reign to make whatever we wanted. The idea for a website to help people keep track of bets was originally mine. I have struggled with remembering to pay or collect from my friends after we made friendly wagers, so I always wished there were an easy way to keep track of all of them.<br />
This project taught me more than any other project I have done so far- it was my first time working with React, and I was fully self-teaching myself.<br />
On this website, users may create a username and register/login with a password. The password is salted and hashed before being stored in the database for security purposes, and the site is protected against SQL Injection attacks. If a user is not logged in, they will be able to see any bets that other users have made public. The purpose of this section of the website is to inspire other users to create more bets. Once a user has logged in, they will be allowed to create bets against any of their friends, mark them as completed, or delete them if desired. Bets may be marked as public or private and can be listed as one of three categories: private, sports, entertainment. Bets marked as private will be visible only to users involved in the bet.<br />
The project is built with a Node.js and MySQL backend with a React frontend with Bootstrap and some custom CSS for styling.<br />
<a href="https://github.com/ankit0504/Betting-Website">Link to the GitHub page</a><br />
Specifics of the project including directions to locally run the project can be found in the README.</p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="JavaScript" /><category term="Node.js" /><category term="React" /><category term="Bootstrap" /><category term="AJAX" /><category term="Amazon EC2" /><summary type="html"><![CDATA[React Betting Website]]></summary></entry><entry><title type="html">Chat Room</title><link href="https://ankit.tech/chat-room/" rel="alternate" type="text/html" title="Chat Room" /><published>2018-11-22T10:10:00+00:00</published><updated>2018-11-22T10:10:00+00:00</updated><id>https://ankit.tech/chat-room</id><content type="html" xml:base="https://ankit.tech/chat-room/"><![CDATA[<p><img src="../assets/images/chatroom.png" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>JavaScript</li>
  <li>Node.js</li>
  <li>jQuery</li>
  <li>Bootstrap</li>
  <li>Socket.io</li>
</ul>

<hr />
<p>This is another project that I co-created in my Rapid Prototype Development and Creative Programming course. This project utilizes Node.js and Socket.io for communication between the server and the client. Bootstrap is used for the styling of the website, and JavaScript is used for the functionality.<br />
This chat server allows users to create multiple rooms, join any open room, send a direct message to any user in their room, or create private rooms that are password protected. Fun features include changing the background color of a room, the ability for a room creator to ban a user from a room, and the ability for a room creator to kick a user from a room.<br />
All actions are handled by Socket.io, so the chat room works on a single page and does not require any refreshes or new page-loads to function properly.<br />
<a href="https://github.com/ankit0504/Rapid-Prototype-Development-and-Creative-Programming/tree/master/Chatting%20Website">Link to the GitHub</a></p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="JavaScript" /><category term="jQuery" /><category term="Bootstrap" /><category term="Node.js" /><category term="Socket.io" /><summary type="html"><![CDATA[Chat Room]]></summary></entry><entry><title type="html">JavaScript Calendar</title><link href="https://ankit.tech/javascript-calendar/" rel="alternate" type="text/html" title="JavaScript Calendar" /><published>2018-10-22T10:10:00+00:00</published><updated>2018-10-22T10:10:00+00:00</updated><id>https://ankit.tech/javascript-calendar</id><content type="html" xml:base="https://ankit.tech/javascript-calendar/"><![CDATA[<p><img src="../assets/images/calendar.png" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>JavaScript</li>
  <li>jQuery</li>
  <li>Bootstrap</li>
  <li>Amazon EC2</li>
  <li>PHP</li>
  <li>AJAX</li>
  <li>MySQL</li>
</ul>

<hr />
<p>This is another project that I co-created in my Rapid Prototype Development and Creative Programming course. We created this calendar with an HTML template that we found online, Bootstrap for styling, PHP for web security things, and vanilla JavaScript for the functionality. <br />
This calendar has functionality to add an event with a title, date and time, edit and delete an already-created event, share events with other users, and filter your calendar view by seeing high-priority events only.<br />
All requests are handled by AJAX, so the calendar works on a single page and does not require any refreshes to see updates in the calendar. Passwords that are stored in the database are salted and hashed for a layer of security. This website is protected against SQL Injection, CSRF attacks, and XSS attacks.<br />
<a href="https://github.com/ankit0504/Rapid-Prototype-Development-and-Creative-Programming/tree/master/JavaScript%20Calendar">Link to the GitHub page</a><br />
<a href="http://ec2-18-220-119-176.us-east-2.compute.amazonaws.com/~kfeinberg/module5/calendar.html">Link to the login page</a></p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="JavaScript" /><category term="jQuery" /><category term="Bootstrap" /><category term="PHP" /><category term="AJAX" /><category term="Amazon EC2" /><category term="MySQL" /><summary type="html"><![CDATA[JavaScript Calendar]]></summary></entry><entry><title type="html">File Sharing Site</title><link href="https://ankit.tech/file-sharing-site/" rel="alternate" type="text/html" title="File Sharing Site" /><published>2018-09-10T10:10:00+00:00</published><updated>2018-09-10T10:10:00+00:00</updated><id>https://ankit.tech/file-sharing-site</id><content type="html" xml:base="https://ankit.tech/file-sharing-site/"><![CDATA[<p><img src="../assets/images/dashboard.png" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>PHP</li>
  <li>HTML</li>
  <li>CSS</li>
  <li>Amazon EC2</li>
</ul>

<hr />
<p>This project is the first one on this website that was not created by only me. I worked on this project with a classmate of mine in our “Rapid Prototype Development and Creative Programming” class.<br />
It has simple functionality, but works similar to Dropbox. It is currently not password protected, but a user must enter a username to login to their dashboard and see their files. As a creative portion, we implemented the ability for a user to register themselves and also share their files with other users that have accounts on the website.<br />
We mainly used PHP to create the site. It is hosted on an EC2 Instance hosted through AWS. <br />
<a href="https://github.com/ankit0504/Rapid-Prototype-Development-and-Creative-Programming/tree/master/File%20Sharing%20Website">Link to the GitHub</a><br />
<a href="http://ec2-18-220-119-176.us-east-2.compute.amazonaws.com/~kfeinberg/module2/login.html">Link to the login page</a></p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="PHP" /><category term="HTML" /><category term="CSS" /><category term="Amazon EC2" /><summary type="html"><![CDATA[File Sharing Site]]></summary></entry><entry><title type="html">Joey Tribbiani Thesaurus</title><link href="https://ankit.tech/joey-tribbiani-thesaurus/" rel="alternate" type="text/html" title="Joey Tribbiani Thesaurus" /><published>2018-07-18T10:10:00+00:00</published><updated>2018-07-18T10:10:00+00:00</updated><id>https://ankit.tech/joey-tribbiani-thesaurus</id><content type="html" xml:base="https://ankit.tech/joey-tribbiani-thesaurus/"><![CDATA[<p><img src="../assets/images/joeyDescriptionScreenshot.png" alt="Screenshot" /></p>

<p>Technology used:</p>

<ul>
  <li>Javascript</li>
  <li>thesaurus.com API</li>
  <li>Chrome API</li>
  <li>Browserify</li>
</ul>

<hr />
<p>This project is the first time that I have ever created something for the public to use. This is a Google Chrome extension that allows the user to select some text on their screen and easily replace each word with a synonym.<br />
I decided to make this extension because I wanted to try my hand at making a chrome extension; it seemed like the simplest way to publish something for public use. I also love finding fun chrome extensions, so I wanted to start contributing to the community and make one myself. I wasn’t sure what I should make- everything I thought of already had a solution. I didn’t want to duplicate anyone else’s work, so I had to keep thinking. Around this same time, one of my mean friends called me a kangaroo, which reminded me of the scene in Friends where Joey uses a thesaurus on every word in a letter he was drafting.<br />
<a href="https://chrome.google.com/webstore/detail/joey-tribbiani-thesaurus/mhfhdkonhcglhdglecjjmkdnbecbnonm">Check it out here</a><br />
<a href="https://github.com/ankit0504/thesaurus-chrome-extension">GitHub Repository for this project</a></p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="Google Chrome" /><summary type="html"><![CDATA[This is a Google Chrome extension that will make you feel like Joey Tribbiani]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ankit.tech/assets/images/joeyHead.png" /><media:content medium="image" url="https://ankit.tech/assets/images/joeyHead.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Family Tree</title><link href="https://ankit.tech/family-tree/" rel="alternate" type="text/html" title="Family Tree" /><published>2018-07-08T10:10:00+00:00</published><updated>2018-07-08T10:10:00+00:00</updated><id>https://ankit.tech/family-tree</id><content type="html" xml:base="https://ankit.tech/family-tree/"><![CDATA[<p><img src="../assets/images/GuptaScreenshot.png" alt="Screenshot" /></p>

<!-- Example of project - Collapsable Family Tree - [Demo](http://ankit.tech/gupta-family-tree/d3.html).

--- -->

<p>Technology used:</p>

<ul>
  <li>D3</li>
  <li>Javascript</li>
  <li>CSS</li>
</ul>

<hr />
<p>I have made two family trees using the same technology. One stems from an ancestor on my paternal grandfather’s side of my family (Gupta), and the other stems from an ancestor on my maternal grandfather’s side of the family (Chadha).<br />
I decided to make these trees because I never fully understood the connections that I had to many of my family members. Most of my family still remains in India, so living in the US, I was geographically separated from most of my cousins and didn’t have a good grasp on how I was related to each individual person. I figured that making a family tree would help me understand these connections better. In addition to that, I knew that my family ancestry was written down in a book held by a priest in India. While this system of record keeping has not failed my family in generations, there is no safer way to store data than digitally.<br />
D3 was a clear choice for this project because in the summer that I worked on this project, I was going to start an internship where I would be creating a network graph using D3. A tree is just a network graph with no cycles, so I figured that experience making this tree would help prepare me well for when I started to work on the network graph.<br />
<a href="https://ankit.tech/family-trees/gupta-family-tree">Gupta Family Tree</a><br />
<a href="https://ankit.tech/family-trees/chadha-family-tree">Chadha Family Tree</a><br />
<a href="https://github.com/ankit0504/family-trees">GitHub Repository for this project</a><br />
Sorry, the trees do not work on mobile.</p>]]></content><author><name>ankitgupta</name></author><category term="project" /><category term="D3" /><summary type="html"><![CDATA[This is a simple, collapsible family tree that I made using D3]]></summary></entry></feed>