Nuxt and Supabase based portfolio website
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
Projects main goal it to try out a combination of Nuxt and Supabase and the features they both offer.
The Admin Dashboard is built with SSR and CRUD operations are done on the server side.
The home page uses Incremental Static Regeneration (ISR) — cached indefinitely on Vercel's CDN
and revalidated on-demand after each content change.
Static pages (legal notice, privacy policy) are prerendered at build time.
-
yarn
npm install yarn -g
-
Clone the repository
git clone https://github.com/Nagell/portfolio-nuxt.git
-
Install packages
yarn install
-
Start Docker Desktop (Official docs)
- For Windows: set on in the settings
Expose deamon on tcp://localhost:2375 without TLS - For Mac: set on in the settings
Use Virtualization Framework
- For Windows: set on in the settings
-
Download Supabase container
yarn supabase start
If supabase is not recognized you can force it by reinstalling the package
yarn add supabase -D
-
Copy
.env.exampleto.env
and fill in the Supabase credentials visible in the console when the container starts.SUPABASE_KEY=<YOUR_LOCAL_SUPABASE_KEY> #"anon key" from the console # the rest can initially stay as it is
-
Start the development server
yarn run dev
-
Open http://localhost:3000 to view it in the browser.
-
Change git remote url to avoid accidental pushes to base project
git remote set-url origin github_username/repo_name git remote -v # confirm the changes
To obtain the admin dashboard access, you need to create a new OAuth application on Github.
More on this topic can be found in the development docs.
- Add Supabase integration
- Add Tailwind CSS integration
- Add admin panel with authentication
- Add server-side CRUD operations for projects
- Add server-side CRUD operations for images
- Add image optimization
- Deploy to Vercel
- Add CI/CD
- Prepare dev and prod environments
- Create and implement a design for:
- landing page
- login page
- admin panel
- Add animations
- Connect final domain to the main branch
- Add license
- Add meta tags
- Improve a11y - link
- Add Legal Notice and Privacy Policy
- Add Vitest and tests
- Add on-demand ISR cache revalidation
- Add i18n
Distributed under the CC BY-NC 4.0 License. See LICENSE for more information.
Dawid Nitka - Linkedin
Project Link: https://github.com/Nagell/portfolio-nuxt

