Which backend + hosting for small websites?

I want to create a website for a small business.

It will be quite frontend-heavy except for a couple of special features:

  • A contact form where you can enter a message that will then be automatically sent to the entrepreneur by email
  • A blog where the entrepreneur can create posts (consisting of text & images) himself, in a kind of admin panel with WYSIWYG editor, and publish them directly or automatically at a specific time

When it comes to the frontend, the choice of technology is relatively easy: TypeScript and a common framework such as React.
I would use MySQL or PostgreSQL as a database.

But I don't know what to do with the backend.

Which framework would be best for a website of this size?
It should be cheap to host (e.g. through low RAM consumption), the code should be easy and fast to write, and it should enable the above-mentioned features as easily as possible.

Express, Next.js, Laravel, Django, Flask, ASP.Net, Spring, … ?
What would you take and why?

And regarding hosting, do I have to host the website on a vServer, or is web space sufficient?

(3 votes)
Loading...

Similar Posts

Subscribe
Notify of
8 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
regex9
1 year ago

Take a CMS. This provides the entrepreneur with an easy-to-use interface that allows him to manage images and articles (via WYSIWYG editor). Often there is an integration for web forms (Forrm Builder or the like) that allow emails to be sent. There is no reason to want to develop something for all this. Especially when it comes to finding a solution that is as fast, simple and inexpensive as possible.

Options should be available in variety: CraftCMS, Drupal, Grave, Strapi, WordPress, etc. Developing the theme (front end) is usually open to you and you need to deal with any template engine to customize or create templates.

And for hosting, do I have to host the website on a vServer, or do I have a webspace?

This depends on which accesses and configuration options you need. Therefore, I would make an actual decision at the earliest after the choice of the CMS.

After what you’ve described so far, I don’t see a vServer as necessary. You will also receive an e-mail delivery facility at web hosting packages.

regex9
1 year ago
Reply to  MrAmazing2

As a rule, CMS has complete freedom in designing the front end. So yes, you could use Three.js & Co.

Templates are meant only templates that contain placeholders in addition to the HTML code. The specific data from the database (e.g., data – e.g. subtemplates) are then inserted into these placeholders. You can compare it with usual PHP files: You have HTML and PHP tags (the placeholders) to dynamically prepare/instruct data.

In a CMS, one usually thinks component-based. For each page type, there is a separate template which includes subtemplates (e.g. for headers, footers, concrete components in the content part, …). This has the advantage that components can be reused on several sides.

How the templates are specifically designed (syntax, etc.), depends on the CMS. Some use template engines like Twig or Thymeleaf. In others, the usual means are used which already entail the underlying technology (e.g. Razor Views at ASP.NET-based CMS). If you choose the CMS, consider the extent to which this is regulated.

Ireeb
1 year ago

I think you’re too complicated.

You will certainly not be the first person in this world to implement a simple website that can also be maintained by lay people.

A thousand, or rather millions of people, were ahead of this task, and that has been since the Internet.

Accordingly, one can assume that there are already solutions for this, and one does not have to program everything from scratch, because then one would reinvent the wheel.

What you’re looking for is a content management system, short CMS. And there are many of them.

A content management system also quite does what the name promises: it takes over the storage and management of your website content and plays it out.

Most CMS work so that all data or Content is stored in a database (where CMS usually specifies a specific database, usually MySQL). The contents are then installed and played by the CMS when a page is called into predetermined templates (also “themes” or “designs”). In addition, CMS often also provide functionality such as SEO, blogs, search, access management, etc., often also expandable via addons.

In the simplest scenario, you can install a CMS on a web server, load a finished theme, fill the website with content, and the Laube is finished.

Often, of course, your own designs are desired, but this also allows most of the CMS by building your own theme and own modules.

I worked with the following CMS at least briefly, and my personal Opinion:

WordPress – All right for the simple scenario, load theme, clean up content, finished. However, I felt my own modules and themes to develop in WordPress as very cumbersome and sometimes even just stupid.

Typo3 – I would rather recommend for more extensive websites. It is good to structure and maintain website content. How to build your own themes and modules requires a little more experience, but if you know how, it works very well.

Drupal – I have also looked very briefly, is well suited for certain special cases, especially if you have many “objects” you want to categorize.

Redaxo – A small, unknown CMS, but actually my favorite. Also “Made in Germany” with predominantly German community. You first get a completely empty CMS without any theme or content. You can then build your own templates and modules, for which you only need HTML, CSS, JS and a bit of PHP, but you have to learn relatively little about the CMS itself. The self-programmed modules can then be integrated into the templates like modules.

What all these systems have in common is that you do not have to worry about how to get your stuff into the database or how to play it, and how to use the website.

Many CMS rely on PHP and MySQL, which is the standard equipment of most web servers.

But of course, I would like to advise you to look at the different CMS, as I said, there are many, and far more than I have listed.

Otherwise, the theme of Server Side Rendering (SSR) might be a topic for you, so you can also build static pages with frameworks (like React or Vue).

regex9
1 year ago
Reply to  MrAmazing2

… I believe that having served a CMS does not come over so well (…)

On the contrary. If an employer sees in an application that you have already built websites with CMS XY, he already knows that an incorporation into the CMS Z, which is used in his company, will not be as difficult as if you start completely at zero. The use of a CMS (or similar systems) is standard for web companies nowadays. Own creations bring more disadvantages (the wheel is usually reinvented with corners; the effort for development and maintenance is high).

You might just make the mistake and mistake CMS with modular systems, but these are two different types of application.

The latter provide the user with a selection of modules with which he can build his website. As a rule, the target platform is always the web and the possibilities for individualization/expansion are very limited or not even present.

However, a CMS is much more flexible. At the core there is a data source (database/file/…), a web application that provides a graphical interface for managing the data and an interface to tap the data. Various features (such as routing, caching strategies, template engines, an account system, etc.) are already integrated. In most cases, you can now create or customize CMS templates (where the user manages his data in the CMS) and always create/fitting rendering templates. Without knowledge of the relevant web technologies, you can’t get far. In the end, you will use the same basic knowledge you would use when building a website without CMS.

Ireeb
1 year ago
Reply to  MrAmazing2

Customers love it when everything is self-made and untested, and it takes much longer and is correspondingly more expensive than if you would simply have done it as any other web developer also uses a CMS.

I would appreciate 90%+ of the classic websites (not webapps) using a CMS.

Because professional web developers do this.

A CMS is a tool that should be mastered as a web developer. And if you control a good CMS, you can translate everything to websites.

Customers don’t care how the website works. They don’t pay you for developing a CMS, but a website.

A craftsman does not start to build himself hammer, pliers and drilling machine.

You’re trying to solve a problem that’s been solved 100 times by people who probably know clearly better what they’re doing than you and me.

A professional web developer who makes websites should be able to handle content management systems.

A CMS is actually the most important tool to build classic websites.

And that’s just the point: it’s just a tool. No customer will complain that a web developer uses a proven and reliable tool that is considered standard in industry. On the contrary, many expect exactly that.

J11724
1 year ago

Vercel is great. If you use React you can make frontend and backend with Next.js.