Oracle and MongoDB database project


Built With...

mongodb icon

MongoDB

oracle icon

Oracle

csharp icon

C#

Project Description

Originally a University assignment to design a database for several hundred thousand records in Oracle and MongoDB.

The objective was to, not only design and setup the databases, but also design a GUI interface to insert and update records in the database.

My Role

Working with 2 other students, I designed a Java program to generate the several hundred thousand records. I also designed and implemented the GUI interface using Visual Studio C#.

Challenges and Learning

  • We used GitHub to work on the C# application which made it easy to work with eachother.
  • It was difficult trying to get everyone meeting regularly to go over things due to pressures with other papers at the University.
  • Having a robust data generation tool early on removed a lot of the headaches in terms of getting a good set of data to play with in the database and application.
  • Doing a paper prototype of the application and the key features helped to get everyone on the same page.
  • Versioning and documenting of ER diagrams, table definitions, and relational models was crucial. We didn't do a class diagram, but that would've helped.

Solution

Company Description for our project

Our idea is a software application for an energy retail company which we have called University of Waikato Energy (UOWE). Our company sells electricity and natural gas to business and domestic consumers in New Zealand. Our application has been designed to be extensible should there be a future desire to retail other products such as broadband, water, telecommunications etc. The primary users of the application are company employees in the customer services department who require fast and easy access to updating and maintaining customer and property related information in the database.

ER Diagram

er diagram

Initial paper prototype

This was an attempt for me to convey to my teamates what I envisioned the GUI interface to look like. Our project focused on the separation of 2 distinct entities, customers and premises.

paper prototype

Demonstration of the finished result

database demonstration

Future Ideas

I would like to update the Java program for data generation and release it as a stand alone app for the public to use.