A modern, responsive portfolio website built with Next.js, React, and TypeScript, featuring real-time integrations with Discord, Spotify, and Steam.
-
Real-time Status Integration
- Discord presence status
- Currently playing track on Spotify
- Steam gaming activity
-
Modern Tech Stack
- Next.js 13+ with App Router
- React 18 with Server Components
- TypeScript for type safety
- Tailwind CSS for styling
- Cloudflare for CDN and optimization
-
Design Features
- Responsive design for all devices
- Dark/Light mode support
- Smooth animations and transitions
- Dynamic background effects
-
Performance
- Optimized images and assets
- Component-level code splitting
- Efficient data fetching with caching
- 99+ Lighthouse performance score
- Node.js 18+
- npm or yarn
- Git
- Clone the repository:
git clone https://github.com/onlive1337/onlive1337.github.io.git
cd onlive1337.github.io
- Install dependencies:
npm install
# or
yarn install
- Create a
.env
file in the root directory and add your API keys:
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
SPOTIFY_REFRESH_TOKEN=your_spotify_refresh_token
STEAM_API_KEY=your_steam_api_key
STEAM_ID=your_steam_id
- Run the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser.
├── src/
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ │ ├── layout/ # Layout components
│ │ └── sections/ # Page sections
│ ├── lib/ # Utility functions
│ ├── types/ # TypeScript types
│ └── utils/ # Helper functions
├── public/ # Static assets
└── README.md # Project documentation
The project uses several APIs for real-time data:
- Discord: Uses Discord API for status updates
- Spotify: Requires Spotify API credentials for music tracking
- Steam: Uses Steam API for game activity
Required environment variables:
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SPOTIFY_REFRESH_TOKEN=
STEAM_API_KEY=
STEAM_ID=
npm run dev
- Start development servernpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLintnpm run analyze
- Analyze bundle size
The project uses:
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type checking
This website is deployed using GitHub Pages. The deployment is automated through GitHub Actions.
To deploy your own version:
- Fork this repository
- Enable GitHub Pages in repository settings
- Configure deployment secrets in repository settings
- Push changes to the main branch
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Onlive - @onswix
Project Link: https://github.com/onlive1337/onlive1337.github.io