My personal portfolio website, built with Nuxt.js, Windi CSS, TypeScript and Firebase.
Website features many custom built systems, integrations and pages!
- ✅ Projects, experiences, skills, GitHub Repositories, favorite songs, contact pages.
- ✅ Fully static markdown-driven blog with Nuxt Content.
- ✅ Firebase integration.
- ✅ Real-time Discord profile data using Lanyard API.
- ✅ Last.fm API to display top tracks and recently played songs-example.
- ✅ Written in TypeScript.
- ✅ Tons of handmade custom components.
You need to install Node.js and Git to your machine. Node.js comes with its own package manager called npm
, you can either use that or you can use pnpm
since it's faster and caches downloaded dependencies properly.
- Clone the repository with
git clone https://github.com/eggsy/website
- Install dependencies with your preffered package manager.
- With pnpm:
pnpm install
- With NPM:
npm install
- With pnpm:
- If you are going to use Firebase, you'll need to rename
.env.example
to.env
and fill the config.- P.S. You can use the website without the Fireabse integration as it requires a bunch of additional steps on its own. Read the title below for more information.
- Start the app:
- For development:
- With pnpm:
pnpm dev
- With NPM:
npm run dev
- With pnpm:
- To build and compile:
- With pnpm:
pnpm generate
(orpnpm build
) - With NPM:
npm run generate
or (npm run build
)
- With pnpm:
- For development:
If you are wondering about how to host it on free/paid static hosting services like (Netlify, Vercel etc.), you can refer to Nuxt.js docs. My project is hosted on Netlify.
If you don't want to take the additional steps installing and configuring a Firebase account just to use the website, follow these steps:
- Remove
firebase
and@nuxtjs/firebase
modules via your package manager. - Remove
@nuxtjs/firebase
fromtsconfig.json
. - Remove
firebase
import and the line of@nuxtjs/firebase
reference in the array inconfig/modules.ts
file. - Remove
@/plugins/Firebase
reference from the plugins array inconfig/plugins.ts
(remove the whole object), and delete that file fromplugins
directory, you don't need it anymore. - Delete
config/modules/firebase.ts
. - Delete the Daily page:
src/pages/daily.vue
.- Delete existing links and references to this page as it might throw errors when building the app.