Mathis Le Bonniec

Portfolio

My portfolio is a website that was built with NextJS to showcase my most important projects. It uses mongoDB to store projects.

Portfolio

Project description

My portfolio is a website that allows me to showcase my most important projects.

First, I had to create a Rest API allowing me to interact with my MongoDB database.
Then, the open-source JavaScript animation libraries did not match my licensing criteria. So I had to recreate them entirely.

In July 2023, I completely rewrote the entire API used to store the projects.
I wanted to use a new framework to replace Express, so I choose NestJS.
Furthermore, I've greatly improved the cleanliness of the code, reducing the overall weight of the site. I modified, removed and added a few visual components to make the site more consistent with what I intended.

The site still uses NextJS (though I prefer NuxtJS) because I didn't want to transcribe the entire code into another framework. Perhaps for a future version of the website.

I've also set up a CI/CD to make sure the code works properly, and to facilitate its deployment.
When code is pushed to Github, a Github Action workflow runs to build a Docker image.
When a release is manually created on Github, a second workflow also build a Docker image and publishes it to a Github Packages repository with the latest git tag.

Used technologies

TypeScript

TypeScript

NextJS

NextJS

Sass

Sass

RESTful

RESTful

MongoDB

MongoDB

Figma

Figma

Git

Git

Umami

Umami

GitHub Actions

GitHub Actions

Ubuntu

Ubuntu