Projects
Gerrymander
A webapp that defines the state districts as fairly as possible to avoid Gerrymandering. (Gerrymandering is manipulation of the boundaries of the districts of state so as to favor one party.)
Used "Simulated Annealing" and "Regional Growing" algorithms to solve the problems.
Designed Database schema to store regional boundaries. Data was provided by "data.gov" and some parts was provided by MIT. The state and district boundaries' data was formatted in GEO-JSON format.
Wrote python scripts to process raw boundary data and persist data to MySQL database.
Back-end was designed in JAVA, with multi-threading and data cashing design.
Front-end was designed using HTML5, CSS and JavaScript.
Git Repository: https://bitbucket.org/TirthDarji007/cse308dbpresistance/
Language: Java, JavaScript, HTML/CSS, Python, MySQL
Contributor: Tirth Darji, William Schweigert, Sahil Kakkar, Christopher Wong
Password Manager
A simple, user friendly and easy to use application for managing multiple passwords at one place.
Introduces Import & Export feature to standardized CSV format.
Backup and restore feature to app specified pmbk file. Additionally, it provides convenience of scheduling automatic backup.
Download Link (Use Internet Explorer) : https://bitbucket.org/TirthDarji007/pmversion1.2/
Language: Java, JavaFX
Code Checker
An application to help TAs, for grading programming assignment.
It can separate submitted source files into separate directory by student ID.
It organizes source codes for plagiarism checker software. Checker can be invoked and result can be analyzed through app.
Language: Java, JavaFX
MIPS Code Converter
A simple application to convert MIPS assembly code to binary code and visa versa.
Project Link: https://bitbucket.org/TirthDarji007/mips-code-converter/
Language: C
Ecran
Ecran program is inspired by the classic "screen" program which was evolved into the GNU Screen.
It manages up to 10 screen through single terminal and introduces the easy switch interface.
Screen features a enhanced status to update user with events and help screen for status of all running screens, commands and program interface.
Screen emulates ANSI terminal and capable of running all ANSI supported system commands.
Project Link: https://bitbucket.org/TirthDarji007/screen
Language: C
Bavarde Chat Server
A simple multi-threaded chat server.
Client can login to chat server using server specification and can send message to logged in users.
It supports acknowledge of received and delivered message to keep track of successfully transaction of message.
Each message is traced from send time to received time for proper delivery and error handling.
Project Link: https://bitbucket.org/TirthDarji007/bavarde-chat-server/
Language: C
Eval Script
This script read the mathematical expression line by line from the input file, evaluate the expression and output solution to output file name.
It uses the ply and lex to create the parser for python.
It can handle the precedence, list and Boolean operations.
Git Repository: https://bitbucket.org/TirthDarji007/evalscript/
Language: Python
Eval Compiler
This script is the extended version of the Eval Script. (see above)
It supports the block statement, condition statement, print and assignment statements.
It uses the ply and lex to create the parser.
It handles the precedence, list, Boolean operations.
Git Repository: https://bitbucket.org/TirthDarji007/eval-compiler/
Language: Python
Game: 2048
Popular game 2048, created using MIPS language.
Git Repository: https://bitbucket.org/TirthDarji007/2048mipsgame/
Language: MIPS
Game: Match the Logo
Created a small game to improve concentration.
Git Repository: https://bitbucket.org/TirthDarji007/concentrationgame
Language: Java