Juraj Petráš
Project for p-mat

p-mat.sk

Main page of p-mat. A non-profit organization that organizes competitions in mathematics and physics for primary school children in Slovakia.

website-previewwebsite-previewwebsite-preview

#Technologies used

The premise of this project was to create a website for P-MAT. The main page of the organization. Targeted to sponsors, voulenteers and teachers, not parents or children.

Contents of the website were to be rarely changing. So I went on to find something capable of generating static html and a CMS for it. Some parts of the design provided were already built in React CRA, so the only reasonable choices at the time were Next.js and Gatsby.

In the end I landed on Next.js, and this choice paid off. It was a great framework for building a static website and after a year it is still relevant and very popular with great support. Nowdays it would also make sense to use things like Astro, but at the time they didn't exist or were not ready.

For the CMS I chose Netlify CMS. It is a great tool for static websites. Maily because we already host our code in a repository (Gitlab in our case), so we don't need to pay for CMS or host one ourselves.

This created the perfect stact for this website:

  • You can build using React and get static HTML.
  • You have a CMS which is graphical and accessible for non tech-savy people.
  • It has practicaly 0 cost to run, you only need some kind of static file storage. That's it.
Disadvantages:
  • The bundle size is unneccessarly large for a static website.
  • It became very clear during development that Next.js can do static websites, but it is not focused on it. Altho this was somewhat improved in Next.js