Getting Started with Application Development

  • Thread starter niteofmisfortune
  • Start date
  • Tags
    Application
In summary, a professional programmer would start by identifying the types of information to be captured, the way it should or could be displayed to a user of the system. What kinds of actions can a user perform? what kind of levels should a user have ie able to view some stuff, all stuff, edit some stuff/all stuff, delete some stuff, all stuff. Audit trails to track who did what update transaction. How to backup the system?In addtion, will it be available on the internet? how to protect it from hacking attempts? ...and the list goes on...You might prototype in in Python using a SQL database with Python Flask for the web service and then migrate to a more production level using Go
  • #1
niteofmisfortune
3
0
Hello everyone. I work in Clinical Research and have an idea for CTMS (clinical trial management system) that I would like to build from scratch. My idea is a bit more complicated than just a data management application and I want to prioritize speed/efficiency of data retrieval/processing and making a streamlined user interface. I know its a big task but I want to try/learn/implement. I have limited experience with programming from high school courses (C++, JAVA, HTML - roughly 10 years ago) and I did some basic programming since then (mostly in MATLAB). I know the very basics but obviously that is not enough for my goals.

My question is regarding how you would approach beginning to learn how to do this? I am getting a bit lost in all the different languages/systems. Based on my initial research, a system like the one I am trying to creates would implement:

A Web/Application coding language that codes the user interface (like HTML)

A database system (coded with something like R)

A system to interact with the database (like PHP)

Is my understanding correct? I am looking for any resources to start learning these languages or any other suggestions on how to begin my journey. Any advice would be greatly appreciated.

Thank you in advance!
 
Technology news on Phys.org
  • #2
This project while interesting is way over your head currently.

A professional programmer would start by identifying the types of information to be captured, the way it should or could be displayed to a user of the system. What kinds of actions can a user perform? what kind of levels should a user have ie able to view some stuff, all stuff, edit some stuff/all stuff, delete some stuff, all stuff. Audit trails to track who did what update transaction. How to backup the system?

In addtion, will it be available on the internet? how to protect it from hacking attempts? ...

and the list goes on...

You might prototype in in Python using a SQL database with Python Flask for the web service and then migrate to a more production level using Go programming, a more full-fledged database and a Go specific web service.

There are other approaches to take. But you must consider them carefully as each decision you make can limit your future choices.
 
  • Like
Likes berkeman
  • #3
jedishrfu said:
This project while interesting is way over your head currently.

A professional programmer would start by identifying the types of information to be captured, the way it should or could be displayed to a user of the system. What kinds of actions can a user perform? what kind of levels should a user have ie able to view some stuff, all stuff, edit some stuff/all stuff, delete some stuff, all stuff. Audit trails to track who did what update transaction. How to backup the system?

In addtion, will it be available on the internet? how to protect it from hacking attempts? ...

and the list goes on...

You might prototype in in Python using a SQL database with Python Flask for the web service and then migrate to a more production level using Go programming, a more full-fledged database and a Go specific web service.

There are other approaches to take. But you must consider them carefully as each decision you make can limit your future choices.
I definitely understand this and the fact that even if I was to succeed it would take many years. Would you say that Python would be the absolute basic starting point for me?
 
  • #4
so what you can do is pare down the requirements to a single user:
- sql database (most common, very flexible and easy to implement) eg H2Database
- python with flask
- your code with web pages to do RESTful queries for lists, updates ...

Should work well for your purposes, as things expand you'll need to up your game and maybe switch to go or java. The multi-user with admin permissions is more complex and you'll likely need to consider security as well.
 
  • #5
Another option is to consider groovy which is basically java as a scripting language and grails for the web and data storage. This can get you operating rather quickly. You could use h2Database as the database manager. Its a clean single java jar and supports the majority of SQL commands as well as being pretty fast.
 
  • #6
After some thought, I think it would be best to think of doing a prototype and Grails would be the best option.

Why?

When starting a grails web app, you first decide on the information you want to manage. Once you've described it in a Grails model class, Grails can infer the web pages you need and will generate stubs giving you a simple working app where you can add entries, delete entries, edit/update entries and list entries.

The next step is to do simple changes to the web pages to create the kind of app you're looking for.

Here's a tutorial to try out, there are a lot of YT videos and paid courses on Grails development. One of its key strengths is that it uses Groovy which is a scripting version of Java meaning Groovy can utilize Java code with little to no modification.

https://guides.grails.org/creating-your-first-grails-app/guide/index.html

Grails came out of emulating the Ruby on Rails success story using using Groovy as the base language.

https://en.wikipedia.org/wiki/Grails_(framework)

and more on groovy:

https://en.wikipedia.org/wiki/Apache_Groovy

Later on, you may want to get into web hosting if many folks are going to be using your app:

https://www.a2hosting.com/grails-hosting
 
  • #7
jedishrfu said:
After some thought, I think it would be best to think of doing a prototype and Grails would be the best option.

Why?

When starting a grails web app, you first decide on the information you want to manage. Once you've described it in a Grails model class, Grails can infer the web pages you need and will generate stubs giving you a simple working app where you can add entries, delete entries, edit/update entries and list entries.

The next step is to do simple changes to the web pages to create the kind of app you're looking for.

Here's a tutorial to try out, there are a lot of YT videos and paid courses on Grails development. One of its key strengths is that it uses Groovy which is a scripting version of Java meaning Groovy can utilize Java code with little to no modification.

https://guides.grails.org/creating-your-first-grails-app/guide/index.html

Grails came out of emulating the Ruby on Rails success story using using Groovy as the base language.

https://en.wikipedia.org/wiki/Grails_(framework)

and more on groovy:

https://en.wikipedia.org/wiki/Apache_Groovy

Later on, you may want to get into web hosting if many folks are going to be using your app:

https://www.a2hosting.com/grails-hosting
Thank You! I really appreciate your time. This gives me a lot to look at and consider.
 

Similar threads

  • Programming and Computer Science
Replies
16
Views
2K
  • Programming and Computer Science
4
Replies
107
Views
5K
  • Programming and Computer Science
Replies
17
Views
1K
Replies
3
Views
558
  • Programming and Computer Science
Replies
15
Views
2K
  • Programming and Computer Science
Replies
1
Views
809
  • Programming and Computer Science
Replies
2
Views
1K
  • Programming and Computer Science
Replies
7
Views
733
  • Programming and Computer Science
2
Replies
65
Views
3K
  • Programming and Computer Science
Replies
9
Views
1K
Back
Top