Jovens AESPS was a project I built when I was in High School, which had the goal to allow students to publish articles and connect with each other.
I founded it when I was 15 years old, in 2020, when the COVID-19 pandemic forced the Portuguese government to close the schools and make students go home.
That way, I had some free time to think about some projects I could develop that could help the whole community.
Jovens AESPS was the one I decided to pursue! Although just as a curiosity, the name of the project, in the beginning, was not that - it was Jornal AESPS - but as it interfered with other projects, I had to change it to Jovens AESPS!
On this page, I will share some of the details about the website I created for this project and some of the initiatives I coordinated.
2020 was the year of the creation of the first version of the website Jovens AESPS! At this time, I had very little experience with web development… I didn’t even know how the web worked!!
With that in mind, I felt that WordPress would be a good choice as a CMS, as it would give a lot of functionality to the website while being easy to use and maintain.
As I was a beginner, It took me a lot of time to do what I wanted.
It had features, like forums, groups where users could post messages and a blog, which the users could contribute to. The Buddyboss plugin was one of the main ones I had installed, but at the end of that year, I already had more than 20 plugins that were overloading the shared web server container it was hosted on. For that reason, the speed of the website (even with cache enabled) was a disgrace, and, for that reason, registrations were very reduced.
Things needed to change!
That’s why I started to remove some plugins. I soon removed BuddyBoss and speed improved a lot!
But, WordPress still caused some trouble for us. To start, it required a lot of maintenance! I had to visit the admin panel every month to update Plugins and Themes and received a lot of emails from WordFence.
In 2021, I didn’t invest a lot of time on this website until December, when I started to think about moving the content to a Headless CMS integrated with a frontend framework.
I thought about the idea for twelve days. I defined some advantages and disadvantages of this migration, as follows:
- Speed of the frontend website - as I would rely on a static site generator;
- Easier content creation - The users only need to care about their content. SEO is dealt with in the front-end based on the content the user publishes.
- Difficulty to make changes to the website - to make big changes to the content structure I need to make a copy of the current version to my computer, then add and edit code and finally deploy the changes;
- Harder to restrict access to content - in this case, impossible, because I didn’t build an authentication and authorization system in the frontend, (but possible with access control directly with the API);
That month, I had many other projects going on, so instead of building everything from scratch, which would take me at least a month, I used a starter.
So, here is the architecture of the whole Jovens AESPS ecosystem:
For the back-end, I used Strapi as the content manager, which creates a consumable API. This application is hosted on Heroku and, due to the limits of the free plan of this platform, I also rely on Cloudinary.
For the front-end, I created two independent websites.
The first is the blog. This one only has the articles created on the back-end. It was built with Gatsby JS, which retrieves the blog posts from the API and turns them into web pages.
The other is the main website, where the information about the project Jovens AESPS is stored and all the details are listed.
The reasons why I separated these two websites were because the blog would need frequent builds and if the whole website was in the same Gatsby app, the build times would start to grow very fast and I wanted the main website to have a more institutional feel, whereas the blog could be more relaxed. I didn’t think the effects on SEO would be substantial enough to put everything in the same bag.
However, I'm already planning a new release, where there will only be one website using Next.Js.
At the end of the day, I just wished that Strapi allowed admin registration without having to create an invitation…
Initiatives I coordinated while at Jovens AESPS
- Book of Finalists
- VideoGames Competitions
- Development and management of the team @School Radio
- Among other smaller iniciatives