π₯ Personal website was built originally from scratch using Next.js, TypeScript, Tailwind CSS, SWR, Firebase and Prisma with PostgreSQL
This website was carefully crafted from the ground using Next.js and other helpful tools, starting in June 2023.
I'm constantly making improvements to add more features and content. This website is where I share what I've learned and offer insights to others.
Feel free to use this website as a reference, for inspiration, or as a template, following the provided license. You can access the source code to customize it to your needs.
If you find this website helpful, please consider leaving a rating. πππ»
If you have any questions, suggestions, or anything else, don't hesitate to reach out to me! π§βπ»
This website is built using these technologies:
- βΌοΈ Next.js 13.5.6
- βοΈ React 18
- π° TypeScript
- π Tailwind CSS 3
- π Prisma Client
- π₯ Firebase
- 𦫠Zustand
- γ°οΈ SWR
- β° Framer Motion
- π’ React Icons
- π’ Jest
- π§Ώ Absolute Import and Path Alias
- π ESLint
- β¨ Prettier
- πΆ Husky & Lint Staged
- π Conventional Commit Lint
On this website there are several features that will continue to be updated and added in the future.
You can access this feature by opening the command palette [cmd+k], then typing whatever you want to search/ask for. (Currently not available, but you can configure it on your machine with your own OpenAI api key)
A no-fuss pure JavaScript playground with a live feedback loop.
Realtime guestbook chat is powered by Firebase. Anyone can leave me a message in this website.
Displays song information being played on spotify in real time using the Spotify API and SWR.
Data is retrieved using the Wakatime API and then displayed on the dashboard, built with Next.js API routes deployed as serverless functions.
The content on this blog is meticulously managed and sourced from a self-hosted headless CMS powered by WordPress, exemplifying our commitment to a streamlined and efficient content delivery system. The data fetching technique used to retrieve articles from WordPress CMS API involves using Client-Side Rendering (CSR) for the blog list and Server-Side Rendering (SSR) for the blog details.
The data projects on this blog are taken from the PostgreSQL database connected through the Prisma Client. The database for this application is hosted on Supabase DB.The data fetching method used to retrieve data projects is Incremental Static Regeneration (ISR) with 1 second revalidation and Server-Side Rendering (SSR) for the project details..
Report URL: https://pagespeed.web.dev/analysis/https-aulianza-id/pk0y6xcz25?form_factor=desktop
Report URL: https://pagespeed.web.dev/analysis/https-aulianza-id/pk0y6xcz25?form_factor=desktop
If you are interested in running this project on your local machine, you can do so in just 3 easy steps below. Additionally, remember to update the ".env.example" file to ".env" and replace the variables with your own in the ".env" file.
-
Clone using git
git clone https://github.com/aulianza/aulianza.id
-
Using
create-next-app
npx create-next-app -e https://github.com/aulianza/aulianza.id project-name
-
Using
degit
npx degit aulianza/aulianza.id YOUR_APP_NAME
-
Deploy to Vercel or Netlify, etc
It is encouraged to use yarn so the husky hooks can work properly.
yarn install
This repository uses several environment variables. Please copy .env.example into .env, then fill in the values with your own. For third-party environment variables such as Spotify, Wakatime, Firebase, and others, please refer to the official documentation provided by each provider.
BUNDLE_ANALYZER=false
SITE_URL=https://aulianza.id
# Blog
BLOG_API_URL=
# OpenAI
OPENAI_API_KEY=
# DEV.to
DEVTO_KEY=
# Spotify
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SPOTIFY_REFRESH_TOKEN=
# WakaTime
WAKATIME_API_KEY=
# GitHub
GITHUB_READ_USER_TOKEN_PERSONAL=
GITHUB_READ_USER_TOKEN_WORK=
# Prisma Database
DATABASE_URL='postgres://USER:PASSWORD@HOST:5432/postgres'
# Contact Form
CONTACT_FORM_API_KEY=
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_DB_URL=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=
NEXT_PUBLIC_FIREBASE_CHAT_DB=
# Next-Auth SSO
NEXTAUTH_URL=http://localhost:3000
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
You can start the server using this command:
yarn dev
Open http://localhost:3000 with your browser to see the result. You can start editing the page by modifying src/pages/index.tsx
.
Licensed under the GPL-3.0 license.