Projects

BuyBulkAmerica.com

An e-commerce platform similar to Amazon.com for purchasing items in bulk.
buybulk

CBO HMO Contracts

A single-page-app to help manage contract level information across a company.
Stack: Node.js, React, postgresql, nginx, materialize-css
cbohmocontracts
Edit a Plan:
cbohmocontracts_edit_plan

CENTERPrise

A tool to help manage and allocate invoices across departments of a corporation.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
View and manage invoices.

Create and allocated new invoices across departments.


Pharmacy Review Dashboard

A drug recommendation engine for medical professionals.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
View and track drug recommendations.

Create and manage recommendation rules.


CBOTracking

A medical billing tool to help manage insurance information for patients.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
Get alert updates for patients requiring updates.

Create new residents with dynamic forms.

Manage email alerts and notifications.


GraffitiWall

A highly collaborative social platform for increasing interest in a product
Stack: Flask, HTML5/CSS3, JS, NGINX
Public and private chat capabilities (EventSource long polling)

User editable notepads (heavy use of advanced jQuery and css3)

MS Paint like functionality (HTML5 Canvas, JS, jQuery)

Fine tuned user control capabilities

User generated media


TandemGraph

The input for this application was generated using TRED. Source Code can be obtained from the tandemgraph git branch.

POD – Person of the Day

An entertainment suite of apps for the web and mobile devices written with Django, and the iOS and Android SDKs.


TheChessGame – A GUI interface for a chess playing program.

A chess engine implementation is in progress. Also some networking capabilities are planned to be included in future releases. Source Code (TAR)Source Code (ZIP)

Hangspot

A social site for making friends. Implemented with Flask.

MyMissedOpportunities

A twitter clone for sharing your missed opportunities with others. Implemented with Django.

ChessEngine

A chess playing program written entirely in the Haskell programming language.

Uses material values and mobility as factors in evaluating possible moves.

Licensed byGPLv3. Follow progress @ github.

[ramin@laptop ChessEngine]$ ./Main 
--+-----------------------+
8 |BR|BN|BB|BQ|BK|BB|BN|BR|
7 |BP|BP|BP|BP|BP|BP|BP|BP|
6 |  |  |  |  |  |  |  |  |
5 |  |  |  |  |  |  |  |  |
4 |  |  |  |  |  |  |  |  |
3 |  |  |  |  |  |  |  |  |
2 |WP|WP|WP|WP|WP|WP|WP|WP|
1 |WR|WN|WB|WQ|WK|WB|WN|WR|
--+-----------------------+
  |A |B |C |D |E |F |G |H |
Enter your move (a2 a3)
g1 f3

Score: -9
--+-----------------------+
8 |BR|BN|BB|BQ|BK|BB|BN|BR|
7 |BP|BP|BP|  |BP|BP|BP|BP|
6 |  |  |  |  |  |  |  |  |
5 |  |  |  |BP|  |  |  |  |
4 |  |  |  |  |  |  |  |  |
3 |  |  |  |  |  |WN|  |  |
2 |WP|WP|WP|WP|WP|WP|WP|WP|
1 |WR|WN|WB|WQ|WK|WB|  |WR|
--+-----------------------+
  |A |B |C |D |E |F |G |H |
Enter your move (a2 a3)
d2 d4
Good Move!
Score: -13
--+-----------------------+
8 |BR|BN|BB|  |BK|BB|BN|BR|
7 |BP|BP|BP|  |BP|BP|BP|BP|
6 |  |  |  |BQ|  |  |  |  |
5 |  |  |  |BP|  |  |  |  |
4 |  |  |  |WP|  |  |  |  |
3 |  |  |  |  |  |WN|  |  |
2 |WP|WP|WP|  |WP|WP|WP|WP|
1 |WR|WN|WB|WQ|WK|WB|  |WR|
--+-----------------------+
  |A |B |C |D |E |F |G |H |
Enter your move (a2 a3)
c1 f4

Score: -20
--+-----------------------+
8 |BR|BN|BB|  |BK|BB|BN|BR|
7 |BP|BP|BP|  |BP|BP|BP|BP|
6 |  |  |  |  |  |  |  |  |
5 |  |  |  |BP|  |  |  |  |
4 |  |  |  |WP|  |BQ|  |  |
3 |  |  |  |  |  |WN|  |  |
2 |WP|WP|WP|  |WP|WP|WP|WP|
1 |WR|WN|  |WQ|WK|WB|  |WR|
--+-----------------------+
  |A |B |C |D |E |F |G |H |
Enter your move (a2 a3)

Ball Aquarium

An aquarium of balls jumping around in random directions at random speeds.

Mobile Port of Tetris(J2ME)

Licensed by GPLv3. Follow progress @ github.

Three Address Code Interpreter(See Wikipedia)

Interpretes the following grammar:

         Program -> [label:] Statement Program | EOF
         Statement -> Assignment | print Expression | halt | goto label
                      | BooleanExpr
         Expression -> Factor | Factor op Factor
         Factor -> id | boolean | float
         Assignment -> id = Expression
         BooleanExpr -> if Expression Statement
                         | iffalse Expression Statement

Licensed by GPLv3. Follow progress @ github.


PyBreakout


CnfSatFinder

A brute force CNF satisfiable solution finder running on randomly generated inputs.(See Wikipedia)

Source Code (TAR)Source Code (ZIP)

ramin@Desktop:~/py_projects/cnf_finder$ ./cnf_finder.py  -clause_size 3 -exp_size 3 -variable_range 3 
Generated CNF Expression:
	(identify(X0) or identify(X0) or identify(X0)) and
	(identify(X1) or identify(X0) or negate(X2)) and
	(negate(X2) or identify(X0) or negate(X1))
	Solution: None
Solving...
Executing Iteration: #0, permutation: 000, Mapped Literal List: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Executing Iteration: #1, permutation: 001, Mapped Literal List: [[0, 0, 0], [0, 0, 1], [1, 0, 0]]
Executing Iteration: #2, permutation: 010, Mapped Literal List: [[0, 0, 0], [1, 0, 0], [0, 0, 1]]
Executing Iteration: #3, permutation: 011, Mapped Literal List: [[0, 0, 0], [1, 0, 1], [1, 0, 1]]
Executing Iteration: #4, permutation: 100, Mapped Literal List: [[1, 1, 1], [0, 1, 0], [0, 1, 0]]
Done!
	(identify(X0) or identify(X0) or identify(X0)) and
	(identify(X1) or identify(X0) or negate(X2)) and
	(negate(X2) or identify(X0) or negate(X1))
	Solution: ['X0 = 1', 'X1 = 0', 'X2 = 0']
Solution took 0.00139284133911 sec to compute running 4/8 iterations.
Architecture run on: Linux Desktop 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 

A Quicksort GUI Demonstration

(See Wikipedia)