A modern personal website with built-in analytics tracking system.
- Responsive design
- Project portfolio with filtering
- Mobile-friendly interface
- Built-in analytics system
- Visitor tracking
- User behavior analysis
- Frontend: HTML5, CSS3, JavaScript
- Backend: Python Flask
- Database: PostgreSQL (Production), SQLite (Development)
- Hosting: GitHub Pages (Frontend), Vercel (Backend)
- Clone the repository:
git clone https://github.com/yourusername/personal-website.git
cd personal-website- Set up Python virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Run the development server:
python server.py- Open index.html in your browser or use a local server:
python -m http.server 8000- Create a new repository on GitHub
- Push your code:
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/yourusername/personal-website.git
git push -u origin main- Enable GitHub Pages in repository settings:
- Go to Settings > Pages
- Source: Deploy from a branch
- Branch: main
- Folder: / (root)
- Save
- Install Vercel CLI:
npm install -g vercel- Deploy to Vercel:
vercel login
vercel-
Set up environment variables in Vercel dashboard:
DATABASE_URL: Your PostgreSQL connection stringFLASK_ENV: production
-
Configure your database:
- Create a PostgreSQL database (recommended providers: Supabase, Neon)
- Add the connection string to Vercel environment variables
-
Update the API URL in script.js with your Vercel deployment URL
Access your analytics at: https://your-vercel-url/api/analytics
- Fork the repository
- Create your feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Submit a pull request
MIT License - feel free to use this project as a template for your personal website!