mirror of
https://github.com/Mihirkansara/nexus-quant-terminal.git
synced 2026-08-16 12:08:06 +00:00
chore: prepare for Vercel + Koyeb deployment
- API base URL now reads from VITE_API_URL env var (frontend) - WorldMap localhost URLs replaced with env-aware API constant - Added httpx to backend requirements (live data proxy) - Added Procfile for Koyeb backend deployment - Added vercel.json for frontend SPA routing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4bf370ba81
commit
aaa0acf64b
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
|
||||
const api = axios.create({ baseURL: '/api' })
|
||||
const BASE = import.meta.env.VITE_API_URL ? `${import.meta.env.VITE_API_URL}/api` : '/api'
|
||||
const api = axios.create({ baseURL: BASE })
|
||||
|
||||
// Market
|
||||
export const fetchMarket = (ticker) => api.get(`/market/${ticker}`).then(r=>r.data)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { useState, useEffect, useRef, useCallback } from 'react'
|
||||
|
||||
const API = import.meta.env.VITE_API_URL || ''
|
||||
import { MapContainer, TileLayer, Marker, Popup, CircleMarker, useMap } from 'react-leaflet'
|
||||
import L from 'leaflet'
|
||||
import 'leaflet/dist/leaflet.css'
|
||||
@@ -95,7 +97,7 @@ export default function WorldMap() {
|
||||
const loadAircraft = useCallback(async () => {
|
||||
setLoadingAc(true)
|
||||
try {
|
||||
const r = await fetch('http://localhost:8000/api/live/aircraft')
|
||||
const r = await fetch('${API}/api/live/aircraft')
|
||||
const d = await r.json()
|
||||
const planes = (d.states || [])
|
||||
.filter(s => s[5] != null && s[6] != null && !s[8])
|
||||
@@ -118,7 +120,7 @@ export default function WorldMap() {
|
||||
|
||||
const loadQuakes = useCallback(async () => {
|
||||
try {
|
||||
const r = await fetch('http://localhost:8000/api/live/earthquakes')
|
||||
const r = await fetch('${API}/api/live/earthquakes')
|
||||
const d = await r.json()
|
||||
const qs = d.features || []
|
||||
setQuakes(qs)
|
||||
@@ -128,7 +130,7 @@ export default function WorldMap() {
|
||||
|
||||
const loadEvents = useCallback(async () => {
|
||||
try {
|
||||
const r = await fetch('http://localhost:8000/api/news/calendar')
|
||||
const r = await fetch('${API}/api/news/calendar')
|
||||
const d = await r.json()
|
||||
const evs = (d.events || []).filter(e => CCY_POS[e.country])
|
||||
setEvents(evs)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"buildCommand": "npm run build",
|
||||
"outputDirectory": "dist",
|
||||
"framework": "vite",
|
||||
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
|
||||
}
|
||||
Reference in New Issue
Block a user