My portfolio website
UI inspired by plaza.one
-
Setup env variables in .env files in frontend and backend
-
Run docker compose
# only use --build flag after changes are made
# assuming all env variables are in env files in frontend and backend
docker compose --env-file ./backend/.env up --build
OR
npm run dev docker:build
npm run dev docker:up
- Install dependencies:
# install frontend dependencies
cd frontend
npm install
# install backend dependencies
cd ../backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Set up environment variables for development:
Frontend (.env.local):
NEXT_PUBLIC_API_URL=http://localhost:8000
Backend (.env):
MONGODB_URL=your_mongodb_url
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
YOUTUBE_API_KEY=your_youtube_api_key
FRONTEND_URL=fronted_url_for_cors
- Run development servers:
# run both frontend and backend
npm run dev
# seperate
npm run dev:frontend
npm run dev:backend- Install Railway CLI:
npm i -g @railway/cli- Login and deploy:
railway login
cd backend
railway init
railway up- Set env variables in Railway dashboard
- Deploy to Vercel:
cd frontend
vercel- Set api url env variable
MIT