A professional financial terminal application built with Next.js and TypeScript. Provides real-time market data, interactive charts, news feeds, and portfolio management using free financial APIs.
ZeTerminal is a modern financial terminal application that brings professional-grade market data visualization and portfolio management to your browser. Built with Next.js 14 and TypeScript, it leverages free financial APIs to provide real-time quotes, interactive charts, technical indicators, and comprehensive market information.
The application features a command-based interface with keyboard shortcuts, making it fast and efficient to navigate. With a dark theme and professional styling, ZeTerminal offers a sleek user experience for tracking securities, analyzing market trends, and managing watchlists.
/ - Open command barESC - Close command barPress / to open the command interface. Available commands include:
GO AAPL
Navigate to a symbol
NEWS MSFT
View news for a symbol
CHART TSLA
View chart for a symbol
WATCH GOOGL
Add symbol to watchlist
PORTFOLIO
Switch to portfolio view
INTRADAY
Switch to intraday chart view
DAILY
Switch to daily chart view
You can also type a symbol directly (e.g., AAPL) to view it.
Clone the repository and install dependencies:
git clone https://github.com/zmahm/ZeTerminal.git
cd ZeTerminal
npm install
Create a .env.local file in the root directory for API keys (optional):
ALPHA_VANTAGE_API_KEY=your_key_here
NEWS_API_KEY=your_key_here
FINNHUB_API_KEY=your_key_here
Free API keys are available from:
Start the development server:
npm run dev
Open http://localhost:3000 in your browser.
The application implements fallback mechanisms to minimize API calls and handle rate limits gracefully. When free tier limits are exceeded, the app automatically switches to alternative data sources to ensure continuous functionality.
ZeTerminal/
├── app/
│ ├── api/ # API routes
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main page
├── components/ # React components
│ ├── Chart.tsx
│ ├── CommandBar.tsx
│ ├── MarketIndices.tsx
│ ├── MarketTicker.tsx
│ ├── NewsFeed.tsx
│ ├── OrderBook.tsx
│ ├── Portfolio.tsx
│ ├── QuotePanel.tsx
│ ├── SearchBar.tsx
│ ├── StatusBar.tsx
│ ├── TechnicalIndicators.tsx
│ └── Watchlist.tsx
├── lib/
│ ├── api.ts # Server-side API functions
│ ├── api-client.ts # Client-side API helpers
│ └── types.ts # TypeScript type definitions
└── public/ # Static assets
This application uses free APIs and has the following limitations:
The application is designed for educational purposes and market data visualization, not for live trading or financial advice.