A Flutter-based mobile application that provides personalized stock market news with sentiment analysis for selected companies. Features a modern, premium UI with smooth animations and intuitive navigation.
- Company Selection: Users can select multiple companies to personalize their news feed
- Reel Format News Feed: News articles are presented in an engaging vertical swipe format (like TikTok/Instagram Reels)
- Sentiment Analysis: Each news article includes real-time sentiment analysis (Bullish/Bearish/Neutral)
- Live Stock Data: Displays current market prices with color-coded changes
- Seamless Navigation: Intuitive UI/UX for browsing company-specific financial news
- Tap to Read: Tap any news card to open the full article in your browser
- Premium Dark Theme: Modern color palette with gradient accents (#6C63FF & #00D9FF)
- Google Fonts (Inter): Professional typography throughout the app
- Smooth Animations: Engaging entrance animations and transitions
- Gradient Backgrounds: Eye-catching gradients on all screens
- Enhanced Sentiment Indicators: Beautiful badges with gradients and shadows
- Modern Card Design: Sleek card layouts with shadows and borders
- Selection Counter: Visual feedback showing how many companies are selected
- Frontend: Flutter (Dart)
- Backend: Firebase / Node.js
- News API: NewsAPI.org
- Stock Data: Yahoo Finance API
- Sentiment Analysis: Keyword-based algorithm
- Typography: Google Fonts (Inter)
- UI Components: Material 3 Design System
- Flutter SDK (latest version)
- Dart SDK (latest version)
- NewsAPI.org API key (free tier available)
- Clone the repository:
git clone https://github.com/jonahsheep/Stock-news.git
cd Stock-news- Install dependencies:
flutter pub get- Create a
.envfile in the root directory based on.env.example:
NEWS_API_KEY=your_actual_api_key_hereTo get your NewsAPI key:
- Visit NewsAPI.org
- Register for a free account
- Copy your API key
- Paste it in the
.envfile
- Run the app:
flutter runlib/
├── models/
│ ├── stock.dart # Stock data model
│ └── news.dart # News article model with sentiment
├── screens/
│ ├── news_feed_screen.dart # Reel-style news feed
│ └── company_selection_screen.dart # Company picker with search
├── services/
│ ├── stock_service.dart # Stock data (currently mock data)
│ └── news_service.dart # NewsAPI integration & sentiment analysis
└── main.dart # App entry point & theme configuration
The app uses a modern, premium color scheme:
- Primary:
#6C63FF(Purple) - Secondary:
#00D9FF(Cyan/Turquoise) - Background:
#0F0F1E(Dark Navy) - Surface:
#1A1A2E(Lighter Navy) - Bullish:
#00FF88(Green) - Bearish:
#FF6B6B(Red) - Neutral:
#FFB84D(Orange)
Coming soon...
- Stock prices are currently using mock data (future: integrate real-time API)
- Sentiment analysis uses keyword matching (future: integrate ML model like FinBERT)
- Consider adding bookmarking/favorites feature
- Add pull-to-refresh functionality
- Implement persistent storage for selected companies
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- NewsAPI.org for providing financial news data
- Yahoo Finance API for stock market data (planned integration)
- Google Fonts for the Inter font family
- Flutter team for the amazing framework