Rafael Thofehrn Castro
Computer Scientist
Projects
aimaraJS
aimaraJS (Github) is a pure javascript TreeView component created as a response to other components that did not satisfy my project requirements. The main objective of this component is to be able to dinamically add and remove nodes from the tree as fast as possible and also to offer features to interact with the tree, such as:
  • Create an initial tree structure and render it;
  • Add and remove nodes in real time, when the tree is already rendered;
  • Display nodes with icons;
  • Custom events when nodes are opened and closed;
  • Context menus for nodes.
Multi Technology Relational Database Management Tool

ASP.NET application provides an user friendly interface to manipulate databases of different technologies (currently supporting Oracle, PostgreSQL, MySQL and Firebird). It provides features to work with single bases, such as treeview visualization of database structures, detailed graph visualization of table relationships, statistics chart, and also to work with pairs of bases, such as databases comparison and structures and data migration.

Databases Comparison

The application offers a tool to compare tables structures contained in two different databases. It searches for differences between tables fields and fields details. The results are displayed on charts and on a table.

Structures and Data Migration

This is the main feature of this application. It replicates all table structures (including constraints) and data between two different databases. These bases can belong to any technology.

Database Structures
Treeview visualization of main database structures using aimaraJS component. Supported structures:
  • Tables;
  • Table fields with detailed information (column type, length, nullable);
  • Primary key with columns;
  • Unique constraints with columns;
  • Foreign keys with columns, referenced tables and referenced columns;
  • Views;
  • Views fields;
  • Sequences, if supported by the database technology.
Tables Relashionships

Relationships between all tables can be seen in a graph where nodes represent tables and edges their relationships. Nodes are colored according to the amount of records stored in that table, creating a color scale.

Tables Statistics

Bar chart providing information about number of records stored in all tables of the current database.

SQL Queries and Results

Text area with SQL syntax highlighting to execute queries. The results are displayed on an interactive Excel like table.