Skip to content

alealclag/presentationSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

Presentation Site


This project works as a little résumé where I introduce myself so people can get a brief idea about me 😉. It was also developed to play with the main technologies I use, which are the MERN stack, Git and Docker.

📝 Table of Contents

⚛ The Front

React Bootstrap

Let's talk first about the front-end of the website. It was built using ReactJS and its hooks, which made the website and reusable, as well as controlled through declarative statements instead of imperative.

To ReactJS we added Bootstrap to style things up without having to depend on plain old CSS. You might not realize it at first glance, but this website is also responsive! So don't fear opening it on your desktop, tablet or phone 😜

🖥 The Back

NodeJS Express.js

The website's back-end was cooked with NodeJS and the help of ExpressJS. Despite not having too many tasks to process, the ones that are implemented do the job they are asked 🤓. The main tasks are:

  • Retrieving and processing the website's data from the DB
  • Processing and posting the contact form's data to the DB
  • Taking that contact form's processed data and send it to my mail, so that I get instantly notify if someone tries to contact me

💿 The Database

MongoDB

You might think that having a DB for this website is completely unnecessary 🤔. And it is. BUT I wanted to do a full MERN implementation, so I could not leave behind MongoDB, a simple but versatile DB that allows every small project to have a DB without having to think too much about it's scheme.

So obviously it's design is very simple: The data stored inside the table is my main info, work experience, education, tech known, languages, and people who have contacted me. Each of these groups have their own table with the same data that is shown.

You might notice that there's a file called "cards_noDB.js"; this is due to the fact that MongoDB cannot run on ARM architectures, and my personal server is a Raspberry Pi 4, so I needed to make another implementetion without DB.

🔧🚀 Management & Deployment

Git Docker

Finally, Git was used to control the project's changes and versions (this is obvious since you are reading this on GitHub 😅). Nothing too complex since it was a one-man project.

And, since I like to have things done correctly, I created a little Dockerfile and Docker compose to deploy my website on a container with Docker. This allows an easier and better managed deployment of the website. As said previously, this website is hosted on a Raspberry Pi, so the docker container might not run on other architectures