We are a small construction company that currently has a very old, outdated database system that has been written over the past 20 years in Visual FoxPro.

I have now been designated with the task of learning the new technologies and writing a new database system that is more modern and future proof.

Here are some key points :-

  • There is around 70-100 people accessing the database concurrently during the day, this may increase but is unlikely to reach more than 200 in the near future

  • Currently our largest database file is 475MB, with the total size of the database being a few GB

  • It must have an "easy" to program GUI that I can design and manage as there are many departments to our company who will all need different sections of a GUI

  • For now we would just like a desktop application however if it were
    web based this would be an advantage, but in the future there is some consideration of allowing site managers to access the database at
    head office through some sort of app or maybe even a web portal

  • We would like to host and write the solution ourselves rather than

  • We also need the application to be responsive, currently the desktop application has one resolution that it stays out regardless of
    whether it is being accessed via desktop or laptop. Now our employees have phones and tablets we would like it to be accessible and
    responsive in the future
  • Finally the desktop application must be able to be used remotely via Citrix. As we have a lot of employees working on construction sites
    they must be able to access the database through a remote connection

I have spent the past couple of weeks doing research, I briefly touched upon MySQL at university so I can write queries and the such, I also touched upon programming in Java and C. I am confident I can learn the required programs/languages, however I am completely at a blank on where to start (there is too much choice to be honest!).

Could somebody give some advice on a solution that would fit this scenario, where I can design a database system for our company?

  • 3
    This is very broad - you are essentially asking for both a development environment and a backend database. I suggest you make website from the start (no Citrix hassles, scaling handled immediately). Any modern database will do, The issue here is: how (and in what language) are you going to build a website - are you a fulltime professional programmer? – user416 Aug 18 '15 at 14:32
  • I fully agree with Jan here. But as a hint, based on the size: you won't need a "big gun" like Oracle, but would be fine with MySQL or PostgreSQL. If the entire area is new to you, it's probably best to go with MySQL (and PHP on the web language side), as that's where the most resources are available for. You'll probably need someone to talk to face-to-face, finding your exact requirements and giving you a "start coaching": It's hard for you to define your full requirements if you're that far from being familiar with the area. – Izzy Aug 18 '15 at 23:10
  • Have you consider looking for an off the shelf solution (at SourceForge, etc)? Of course, if you need to tailor it, it is generally difficult to understand someone else's code. You might be able to adapt some existing FOSS and there are sites like themeforest.net where you can buy web apps for < $20 with great functionality, which you can then modify to suit your needs. – Mawg says reinstate Monica Aug 19 '15 at 14:31
  • Vaadin & Java, or Xojo, with Postgres or H2. Alternatively, 4D. – Basil Bourque Feb 11 '17 at 6:09

MySql is a good choice for your usability and it is available on Amazon Cloud too.You could use PHP as a server side language to get the website up and running.

Both PHP and MySql are reliable resourceful and powerful.

| improve this answer | |
  • If using only PHP, be sure to add CSS and/or express all sizes as percentages, to make it responsive. <div style="width:50%"> This will take up 50% of the width </div> – Mawg says reinstate Monica Aug 19 '15 at 14:24
  • I agree that someone who can code Java and C should pick up PHP quickly enough. JavaScript is a different story (use AngularJs, if you must use JS), so best avoid it - unless you have great confidence in your programming abilities. And, if you do want to code client side using JS, then maybe best do your server side in NodeJs, rather than PHP – Mawg says reinstate Monica Aug 19 '15 at 14:27

Liferay is a corporate portal server for medium-sized companies.

Liferay will provide you with out-of-the-box authentication, responsive web UI, management tools, easy-to-use database.

Using Liferay, you can quickly create databases, and create your own applications on top of these databases, within Liferay.

The easiest database strategy is to use Dynamic Data Lists. You can also use MySQL directly if you prefer.

To fully understand Liferay and its concepts, first take a few days to get a training or watch the videos and read the tutorials

Liferay is free and open source. Professional support is also available if needed.

Liferay DDL definition

Liferay DDL Add record

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.