Skip to content

scidroid/home

Repository files navigation

Juan Almanza's Website

My home in the internet

Website Preview

Try the live version in scidroid.co

This is the source code for my personal website. It is built using Next.js, Tailwind CSS, and TypeScript.

Also, I use Vercel to deploy the website and ContentLayer to manage the content and Vercel KV as database.

Features

  • About me
  • Projects
  • Blog
  • Contact
  • Now Playing
  • Health Data
  • Open Graph Image generation
  • Analytics
  • Sitemap
  • Terminal easter egg

Getting Started

First do you need to add the environment variables. You can do this by creating a .env.local file in the root directory. You can use the .env.example file as a template.

You need 9 environment variables:

  • RESEND_API_KEY This is the API key for Resend service that allow me to send emails.
  • KV_URL, KV_REST_API_URL, KV_REST_API_TOKEN and KV_REST_API_READ_ONLY_TOKEN is the API key for Vercel KV database.
  • SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, and SPOTIFY_REFRESH_TOKEN is the ids of your Spotify app. This is needed for the Now Playing section.
  • PASSWORD is the password for the health endpoint, needed to secure the /api/health endpoint.

Then, install the dependencies:

bun i

Finally, run the development server:

bun dev

Open http:https://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

Production

To build the website for production, run:

bun run build

Then, to start the production server, run:

bun run start

This repository has a deployment configuration for Vercel. So to deploy the website, just push the changes to the main branch.

But, if you want to deploy the website in another platform, you need to add the environment variables to the production server and just run the bun run build and bun run start commands.

If you want to deploy it in Vercel, you can just run vercel in the root directory and follow the instructions.

License

This project is licensed under the GNU AGPLv3 License - see the LICENSE file for details.

Acknowledgments

Contact

If you want to contact me you can reach me at [email protected].