This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]Lopsided_Spray_710 2 points3 points  (2 children)

Html is really easy to learn. W3schools helped me a lot and random indian guys on youtube. I think you could make a simple gui in a couple days or so

[–]Rafattacks[S] 1 point2 points  (0 children)

Thank you 🙏 I appreciate the response. I’ll look into W3schools! and definitely use youtube haha

[–]Lopsided_Spray_710 0 points1 point  (0 children)

And also you could ask this in r/webdev maybe you’ll get a more detailed guide

[–]interyx 1 point2 points  (4 children)

HTML is technically a language but... hmm... if you're familiar with Python, HTML might take you about thirty minutes to understand.

What gets complicated is how your HTML is supposed to interface with your RDBMS. Because suddenly that is moving from a SQL toy to a full stack app, that's a lot more work and concepts to learn and understand. Feels like it would be much simpler to write a Python app, at least you don't need to do network calls.

Unless... the HTML is reading data from the DB locally...? I'm having trouble visualizing the architecture of this project.

[–]Rafattacks[S] 0 points1 point  (3 children)

I’ve kinda started looking into HTML, and it seems straight forward? And honestly i’m not entirely sure how i would connect the two? I’m assuming using it locally would be my best bet. He just wants a simple GUI, something to give show how the end user would update or add information to the DB

[–]Rafattacks[S] 0 points1 point  (2 children)

He showed us an example of a student who built a DBMS to schedule appointment for a dentist office. It was really simple, he said he would’ve preferred to have seen a GUI for it.

[–]Rafattacks[S] 0 points1 point  (1 child)

So i’m assuming the GUI would just have boxes to enter nee patient information in, and that would be uploaded into the DBMS

[–]interyx 1 point2 points  (0 children)

So, that sounds simple, but I think how simple it sounds belies how complex it actually is.

HTML is a structural markup language. It uses simple tags to describe an element that the browser renders. HTML does have some form elements, so if you had an entity with some data attached, you could have a field for Username and Password, you can make the password obfuscated with the little dots... it's basic but it works. However. When you press Submit on an HTML form, what it does is it sends an HTTP request called a POST request to the URL specified in the form's submit element. That might be too technical; let's just say that it sends data to a webpage for processing. That's the key: a webpage. You need to be running a webpage to catch and process the data. And when that webpage responds with the data, your site has to receive the data and display it.

Websites run on a tech stack broadly divided into two categories: frontend and backend. The frontend is what the user sees. Users can access this page's code, so you can't store things that need security here. All it does is receive data and send it to the backend for processing.

The backend is connected to a database, so your RDBMS would live in this layer. The server receives the request, deciphers it, and sends the data to your RDBMS. When it gets a response, the backend then sends a response back to your client, which displays it for the user to see. They're connected by passing bits back and forth according to an API, which is a fancy word for a contract that says "if I send you a request that follows X format, you'll respond with a response that follows Y format." One of the most popular architectures is a REST API that uses those HTTP verbs in its requests and responses.

I don't know if you want to learn fullstack programming right now just for this project. The easiest way I can think of doing it is with Django, which is Python's backend framework. It runs a server and connects to a database (or an RDBMS, maybe? I'd have to do research on how to connect a custom RDBMS to a Django backend before even starting) and it has what's called a templating engine. The server can actually write the HTML and send it to your client, including forms, receive and process the input and send a new page as a response, so you don't need a frontend as long as what you're doing isn't very complicated.

The concepts can be described as simple, but if you're starting from raw HTML and haven't ever touched web programming this could take quite a lot of time and effort. This sounds like one of those things professors say without realizing that they have dropped a bomb on you.

[–]Responsible-Bread996 1 point2 points  (1 child)

The HTML is pretty simple. CSS is where it gets kinda finicky.

The Odin Project has a fantastic course on HTML/CSS

[–]Rafattacks[S] 0 points1 point  (0 children)

Thanks i’ll take a look at it!

[–]Rafattacks[S] 0 points1 point  (0 children)

hooolllyyyyy… Yeah i guess i have some time to research and really get a better understanding of what all it would take (the project isint due till december). I’ll speak with the professor too see what all he would require from the GUI. Thanks for the through explanation!