Overview
The personal portfolio website is built using Nuxt.JS and Strapi. It is deployed statically for simplicity, speed, cost, and security reasons. Development is done locally with the Nuxt.JS SSR project, and content editing takes place on a local Strapi server.
Features
- Nuxt.JS SSR Project: Development is done using the Nuxt.JS SSR project, allowing for fast and efficient development.
- Strapi CMS: Content editing is done on a local Strapi server, providing a sophisticated CMS for managing website content.
- Static Deployment: The website is deployed statically, resulting in faster loading times, reduced cost, and improved security.
Installation
To install the theme, follow these steps:
- Make sure you have Node.js and npm installed on your machine.
- Clone the repository from GitHub.
- Navigate to the project directory and run
npm installto install the dependencies. - Start the Strapi server by running
npm run strapiStart. - In another terminal, run
npm run generatein the project directory to statically generate the website. - The generated website will be located in the
/nuxt/distdirectory. - Use the
nuxt/updatewebsite.jsscript to upload thedistfolder to your web server through SSH and perform a git pull. - You can also run all these steps at once by running
npm run updatecontent, which will generate the website, push a commit to GitHub, and run theupdatewebsitescript.
Summary
The personal portfolio website is built using Nuxt.JS and Strapi and deployed statically. This method allows for fast and efficient development while keeping hosting extremely fast and cheap. However, it may not scale as well as a classic Nuxt+Strapi server and has some limitations in terms of complex API calls. Nevertheless, it offers the benefits of a sophisticated CMS without needing to run it 24/7 in production, thus reducing the attack surface.