Projects

UCRChat

UCR Chatline Iphone Application

UCRChatline is a social-media mobile app that is designed to work off of hassle-free
application programming interfaces, allowing us to shift the overhead of back-end
support to front-end, delivering an easy to use interface and great platform for social
media on the go. What makes UCRChatline even better is the fact that we deliver a social
media network on one of the most popular platforms in mobile development.

With this app, users can add other users as friends and then chat with each other
as well as post text, image, video, link like a microblog. It also supports group
chat and video calling. There is a timeline page for users to see what their friends
have posted and write comment or like. They are also able to hide specific posts from
specific groups of friends.

I was in charge of implementing the Timeline feature of the application. This was part of our
Software Engineering course, CS 180.

Short Overview.
Full Project Documentation.
Source Code.



NESFPGA

NES Emulator on FPGA board

This project consists of recreating the Nintendo Entertainment System on an FPGA. Using a Terasic
DE2i-150 development board, we wish to design an NES emulator from the ground up. The process involves
implementing the system in terms of units. This means we will set up all appropriate drivers and controllers
needed in a certain module before moving on the the next step. This ensures an efficient use of the limited
time we have.

This Project was done in a study abroad program at Ecole Polytechnique Federale de Lausanne in
Laussane, Switzerland during a period of 5 weeks.

Short Overview.
Full Project Documentation.
Source Code.



Galaga

Recreation of the retro-game Galaga

A Recreation of the game of Galaga using a variety of electrical components. This Embedded system side project
experiments with the usage of three microcontrollers communicating via SPI (serial communication) and concurrently
receiving data via Bluetooth from an android applications and a windows application. Essentially, this is a multiplayer
game where users can compete and see who gets the higher score.

I was in charge of implementing the software and hardware aspect of this embeeded systems project. This was part of my
Intermediate Embedded Systems course, CS 122.

Youtube Video Overview.
Full Project Documentation.
Source Code.



car

Remote Controlled Car operated via Android application

A combination of Circuit components used to create a fully working Remote Controlled Car. The Car is operated via an Android
application through Bluetooth serial communication which was also created for this specific project.

I was in charge of implementing the software and hardware aspect of this embeeded systems project. This was part of my
Intermediate Embedded Systems course, CS 193.

Youtube Video Overview.
Full Project Documentation.
Source Code.



car

Recreation of the game "Breakout"

A re-creation of the old school video game "Breakout" using an ATmega 1284 Microcontroller, an LED Matrix, Shift registers, SNES
Controller, LCD Screen, A 7 Segment display and a speaker, A Video of the game in action can be viewed here.

I was in charge of implementing the software and hardware aspect of this embeeded systems project. This was part of my
Intermediate Embedded Systems course, CS 120B.

Youtube Video Overview.
Full Project Documentation.
Source Code.

First College Projects

Do not have any documentation for these projects maily because they were first projects i did during my early college years,
But i do have the source code

File Transfer Protocol (FTP) server/client

Simplified "FTP" style program in which a user running the client code, requests a set of files and directories
from a user running the server code, and receives the requested data. Features concurrent server utilizing POSIX
sockets and pthreads. Experimented with using Multi-Threaded servers where they delivered files to clients using
thread per connection, Thread Pool, and Leader-Follower Server and compared their speeds.

server Source Code
server 2 Source Code
server 3 Source Code
client Source Code


My Shell

Program which imitates a standard shell on Linux. Features the ability to run commands, piping, io redirection, and
signal handlers. Implemented using POSIX C functions such as, dup2, stat, readdir, fork and sigaction

Source Code