StockWise is a Flutter application designed to provide real-time stock quotes, manage a watchlist, and visualize historical stock price data. The app integrates with the Twelve Data API to deliver accurate financial information and includes an intuitive UI with a modern design.
- Stock Quote Display: View current stock prices, company names, and price changes.
- Watchlist: Add and remove stocks for quick access.
- Historical Data Visualization: Analyze historical stock price movements with charts.
- Onboarding Screens: Guide new users through the app with a smooth onboarding experience.
- Flutter SDK installed on your machine.
- A valid API key from Twelve Data API.
-
Clone the Repository:
git clone https://github.com/yourusername/stockwise.git cd stockwise
-
Install Dependencies:
flutter pub get
-
Configure API Key:
- Replace
YOUR_API_KEY
inlib/services/api_service.dart
with your actual Twelve Data API key.
- Replace
-
Run the App:
flutter run
- Onboarding Screen: The onboarding screen introduces users to the app’s features. Once completed, users will be directed to the main screen.
- Main Screen: Navigate between the Home and Wishlist screens using the bottom navigation bar.
- Search Stocks: Use the search feature to find and view stock information.
- Add to Watchlist: Add stocks to your watchlist for easy access.
- View Historical Data: Access detailed charts to view historical stock data.
lib/
: Contains the main codebase.models/
: Data models for stock information.screens/
: UI screens for different parts of the app.services/
: API services and data fetching logic.onboarding_screen.dart
: Onboarding screen implementation.main.dart
: Entry point of the application.
flutter
: The Flutter SDK.cupertino_icons
: For iOS styled icons.provider
: State management package.http
: For making HTTP requests.syncfusion_flutter_charts
: For charting historical data.fl_chart
: For displaying line charts.shared_preferences
: For local storage of user preferences.flutter_launcher_icons
: For customizing app icons.
Contributions are welcome! Please follow these steps:
- Fork the Repository.
- Create a Feature Branch:
git checkout -b feature/new-feature
- Commit Your Changes:
git commit -am 'Add new feature'
- Push to the Branch:
git push origin feature/new-feature
- Create a New Pull Request.
- Use
dartfmt
to format your code. - Follow the Dart and Flutter style guides.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the Twelve Data API for providing the financial data.
- Special thanks to the Flutter community for their support and resources.
Feel free to modify and expand this README.md
file based on any additional details or changes in your project.