My website
Find a file
2025-12-02 14:04:37 -07:00
.github Create FUNDING.yml 2025-04-09 13:11:17 -07:00
.unused Squashed commit of the following: 2025-04-09 13:17:04 -07:00
.vscode APCSP & Index 2024-11-07 10:43:13 -07:00
public title stuff 2025-06-16 21:49:22 -07:00
src Formating and small updates 2025-09-19 08:52:17 -07:00
.cfignore Squashed commit of the following: 2025-04-09 13:17:04 -07:00
.editorconfig structure stuff 2024-12-10 11:27:05 -07:00
.env.example . 2025-03-07 12:11:39 -07:00
.eslintrc.cjs i need help!!! 2025-02-01 08:05:24 -07:00
.gitattributes pleaseeeeee 2024-12-24 00:20:15 -07:00
.gitignore . 2025-02-01 07:06:18 -07:00
.npmrc . 2025-01-31 18:21:23 -07:00
dev.ps1 Music 2025-02-11 12:49:33 -07:00
index.html Formating and small updates 2025-09-19 08:52:17 -07:00
package-lock.json Formating and small updates 2025-09-19 08:52:17 -07:00
package.json Formating and small updates 2025-09-19 08:52:17 -07:00
postcss.config.js i need help!!! 2025-02-01 08:05:24 -07:00
README.md readme updated - unsigned 2025-12-02 14:04:37 -07:00
tailwind.config.js Revert "css updates" 2025-02-24 21:22:52 -07:00
tsconfig.json Squashed commit of the following: 2025-04-09 13:17:04 -07:00
tsconfig.node.json . 2025-02-01 07:06:18 -07:00
tsconfig.worker.json . 2025-02-01 08:39:04 -07:00
vite.config.ts Formating and small updates 2025-09-19 08:52:17 -07:00
wrangler.toml . 2025-02-01 08:39:04 -07:00

Personal Website

For deployments/checks before resigning: see archive/unsigned-history branch

Architecture Overview

This project implements a modern web application architecture leveraging Cloudflare's edge computing capabilities. The architecture consists of two primary components:

  1. React Frontend: A Single Page Application (SPA) built with React and TypeScript
  2. Cloudflare Pages: Static site hosting with global CDN distribution

Getting Started

Prerequisites

  • Node.js (v16.0.0 or higher)
  • npm (v7.0.0 or higher)
  • Cloudflare account
  • Last.fm account and API key
  • Git

API Keys Setup

  1. Last.fm API Key:

    • Visit Last.fm API Account Creation
    • Sign in with your Last.fm account
    • Fill in the application details
    • Save your API key
    • Your username can be found in your profile URL: last.fm/user/YOUR_USERNAME
  2. Cloudflare Setup:

    • Create an account at Cloudflare
    • Get your Account ID from the dashboard
    • Create an API token with Pages deployment permissions

Environment Setup

  1. Clone the repository:
git clone https://github.com/EndofTimee/personal-site
cd personal-site
  1. Create a .env file in the root directory:
VITE_LASTFM_API_KEY=your_lastfm_api_key
VITE_LASTFM_USERNAME=your_lastfm_username
CLOUDFLARE_API_TOKEN=your_cloudflare_api_token
CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id
  1. Install dependencies:
npm install

Local Development

Start the development server:

npm start

The application will be available at http://localhost:3000

Deployment

Deployment Steps

npm run build
npx wrangler pages deploy ./dist

Environment Configuration

Cloudflare Pages Configuration:

  1. Build settings:

    • Build command: npm run build
    • Build output directory: dist
    • Node.js version: 16 (or higher)
  2. Environment variables:

    • Production branch: main
    • Preview branches: dev/*

Troubleshooting

Common Issues

  1. Build Issues:

    # Clear dependency cache
    rm -rf node_modules
    npm clean-cache --force
    npm install
    
  2. Environment Variables:

    # Verify environment variables
    npx wrangler secret list
    

Additional Resources

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes
  4. Push to the branch
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details