Skip to content
/ website Public

🧬 Source code of my personal website. Everything is included. Written in NuxtJS, TypeScript and Windi CSS!

License

Notifications You must be signed in to change notification settings

eggsy/website

Repository files navigation

eggsy.xyz

Deploy status Codacy code quality

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
  • 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
    • To build and compile:
      • With pnpm: pnpm generate (or pnpm build)
      • With NPM: npm run generate or (npm run build)

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:

  1. Remove firebase and @nuxtjs/firebase modules via your package manager.
  2. Remove @nuxtjs/firebase from tsconfig.json.
  3. Remove firebase import and the line of @nuxtjs/firebase reference in the array in config/modules.ts file.
  4. Remove @/plugins/Firebase reference from the plugins array in config/plugins.ts (remove the whole object), and delete that file from plugins directory, you don't need it anymore.
  5. Delete config/modules/firebase.ts.
  6. 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.

💖 Sponsors