eggsy.xyz
My personal portfolio website, built with Nuxt.js, Windi CSS, TypeScript and Firebase.
✨ Features
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.
🔧 Getting Started
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.
🤔 Don't need Firebase?
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.