TradeBeacon is a cutting-edge stock market tracking and alert platform designed to empower investors with real-time market insights, personalized alerts, and comprehensive portfolio management. Built with modern web technologies, TradeBeacon delivers a seamless experience for both novice and experienced traders.
- Live stock quotes and price tracking powered by Finnhub API
- Interactive TradingView charts with advanced technical analysis
- Comprehensive market news and sentiment analysis
- Real-time stock search with instant results
- Customizable price alerts (upper/lower thresholds)
- Email notifications for triggered alerts
- Portfolio-based monitoring and tracking
- Watchlist management with drag-and-drop functionality
- Country-based market preferences
- Risk tolerance customization
- Industry-specific news filtering
- Personalized daily market summaries
- Clean, intuitive dashboard design
- Dark mode optimized interface
- Responsive design for all devices
- Smooth animations and transitions
- Email-based authentication with Better Auth
- Secure session management
- Protected API routes
- User data encryption
- Framework: Next.js 16 (App Router)
- UI Library: React 19.2
- Language: TypeScript 5
- Styling: Tailwind CSS 4
- Components: Radix UI primitives
- Icons: Lucide React
- Forms: React Hook Form
- State Management: React Context + Hooks
- Runtime: Node.js
- Database: MongoDB 7 with Mongoose ODM
- Authentication: Better Auth
- Background Jobs: Inngest
- Email Service: Nodemailer
- API Integration: Finnhub Market Data API
- Package Manager: npm
- Linting: ESLint 9
- Type Checking: TypeScript
- Version Control: Git
Ensure you have the following installed on your system:
- Node.js (v18 or higher)
- npm or yarn
- MongoDB (local or cloud instance)
- Git
-
Clone the repository
git clone https://github.com/Vivek-736/TradeBeacon.git cd TradeBeacon -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory and add the following:# Database MONGODB_URI=your_mongodb_connection_string # Authentication BETTER_AUTH_SECRET=your_auth_secret_key BETTER_AUTH_URL=http://localhost:3000 # Finnhub API NEXT_PUBLIC_FINNHUB_API_KEY=your_finnhub_api_key # Email Configuration (Nodemailer) EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your_email@gmail.com EMAIL_PASSWORD=your_app_password # Inngest INNGEST_EVENT_KEY=your_inngest_event_key INNGEST_SIGNING_KEY=your_inngest_signing_key
-
Test database connection
npm run test:db
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000 to see the application.
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Run linting
npm run lint
# Test database connection
npm run test:db