Building a website question

I was wondering if someone can explain a few things to me while it’s still fresh in my mind. I have tried researching, but no clear answer. Now, before I go, I am aware of wordpress/wix etc, and how they can make things a lot easier. I am not against using those services in the future. I am trying to self teach in web development, so I want to know the basics of everything.

So how does one build a website for a client, that wants to use it as an image portfolio for his work. Or anything for that matter, if you are building it from scratch with good old html/js/css. How do they upload more pictures to their page? Would you teach them how to change the code to add images? I guess how can you make it easy for a client to go to their website and upload their photos and have them organize on the gallery?

I’m not sure If I am making sense, I hope I am. I thank anyone that can help me. I have been trying to learn for six months now. The coding itself it’s a process, but I am unsure how it all works after the project is done. How to upload it/ maintain it/ specially If in this hypothesis the client wants to do it himself and is not interested in third party website builders.

When do you chose to say you know what, I’m doing this project from scratch. Or Im gonna use wordpress for this or wix etc.

Decide 1st what it is what you actually want. Do you want to build a site from scrats yourself? Or do you want to make a site made so that the said client can easily add things on there own.

Well I want to be able to do it from scratch if I need to. But my questions are mainly out of curiousity of how it works.

If you want your client to upload and change images and content, then a content management system, like WordPress, works a lot better than a static site in just html/css.

But of course WordPress is just a system to manage the content/images. You can still build your own site from scratch in html/css. And then turn it into a WordPress theme. The images and content will be uploaded by the client into a database managed by WordPress. The looks of the whole thing will be your website.

And yes, that’s more complicated than it sounds here. To do that you have to learn how to connect WordPress and your html/css website to each other.

Here you’ll find a course that explains things. I’ve learned a lot from this guy and I’m still learning as I want to be able to design and build my own WordPress Themes.

I think there is a free (older) version of this course on YouTube. But the Udemy version shouldn’t cost more than about 10 euro’s with the usual discount. They always offer those discounts, so don’t pay the high prices!

The answer is you don’t build it completely from scratch in HTML/CSS/JS. That’s very, very rarely going to happen. Everything you use will rely on HTML/CSS/JS, but there will probably be some abstraction over at least some of it to make development easier, and less repetitive, and less error-prone . You might use a static site generator like Gatsby, or a CMS like WordPress, or something like Next.js, or build it out of cloud services or whatever.

One of the main reasons for this is to deal with this:

There are no circumstances I can think of where it is ever a good idea to try to teach a client to modify the code to add content. It is always a bad idea.

Things like WordPress, Next etc. These are things that simplify generating lots of HTML from data. Those kind of tools are one of the places where you generally use your knowledge of HTML – that’s how you apply the things you’ve learned.

OK, that makes a lot more sense, than the way my brain was processing it. Part of it is my ignorance of how it works. This really helps me make a plan on learning in the near future. Thank you all for taking the time to answer my question.

I wonder if it would be possible to have the website dynamically load all the images in a folder. This way the Client would only need to put the image they want displayed into a folder (e.g. an ‘img’ folder on cPanel) and the code would loop through all the images in said folder and upload them.

I don’t know how to implement this, but it must be possible. Right?

Yes, but something like Cloudinary, or AWS or Google Cloud, or even something like Google Drive is generally much easier. If it’s a CMS-like framework like WordPress, it’ll do what you say anyway, and you can always hook it up to one of the aforementioned services instead of storing it on the server.

Client user logs in -> uploads images.
Web site connects to storage -> downloads images.

2 Likes

It’s a fair question. In order to allow the client, who is non technical to be able to modify the content of the website, you would need to use something called Content Management System (CMS). While there are many CMS platforms, the most popular and free is Wordpress. That is why so many sites run on Wordpress.

If you are asking because you want to build a website for a client with plain HTML, CSS and JS, you would probably need to include site maintenance and support and do that service for the client. They will run away crying and screaming if you mention them touching code.

Thank you everyone for your responses.
So I assume to use something like google cloud/drive. You would need to connect the website to it using a backend. Example node.js?

Or I sell the website using plain html/css and give a client a maintance price.

Or I can use something like wordpress which requires less coding, but makes it easier on the client.

I know it depends on location. But how do you charge for these services that makes it worthwhile? I had a gjy ask me to build a site and I didn’t know what to tell him about price to build it. Or price for maintenance and future additions. He is coming over to talk more, and I want to be more prepared. He did mention he “knew a guy, that knows the field” and that what I was telling him was different that what I was telling him.

If it’s only pictures you can use a service like cloudinary or AWS. You don’t need a backend for this. Upload and fetchig img url’s can be done from clientside

@CodeSmity I have had similar conundrums so I would be interested in hearing what happened with this? Are you building the website? What did you decide to use?

I have not made a website yet, at least something like this. I made got a domain and made it with wordpress. It does make it easier to upload images that way. Seems more, newbie friendly. So I think it depends on the client, but for ease of access, and a client that doesn’t know much. Worpress would be the way I would go for them. Again unless the client wants something different. Still working on learning still, so we will see.