Where Wisdom Meets Wealth
Finterest is a web application delivering up-to-date financial news empowered with generative AI. It empowers readers to not only access the latest news, but also to foster deep understanding and engagement with the articles. With Finterest, you can seamlessly query, seek clarifications, and gain profound insights into every article, making complex financial information easily accessible and digestible.
If you are someone seeking to delve deep into the world of financial news, look no further. Try out Finterest here today! πΈπ°
- Ensure that you have NodeJS installed.
- Clone the repo to your computer.
git clone https://github.com/qreoct/finterest.git
- Change directory into
finterest
.
cd finterest
- Download dependencies for the application.
npm install
- In the root directory of
finterest
, create a new file called.env.local
. Paste the following content into the environment file. Then, you would need to create your Firebase project and obtain your OpenAI, NewsData and Google Analytics keys. Finally, replace the values in the curly brackets accordingly.
NEXT_PUBLIC_OPENAI_API_KEY={apiKey}
NEXT_PUBLIC_FIREBASE_API_KEY={apikey}
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN={domain}
NEXT_PUBLIC_FIREBASE_PROJECT_ID={projectid}
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET={storagebucket}
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID={senderid}
NEXT_PUBLIC_FIREBASE_APP_ID={appid}
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID={measurementid}
NEXT_PUBLIC_NEWSDATA_KEY={newsDataKey}
NEXT_PUBLIC_GOOGLE_ANALYTICS={googleAnalyticsKey}
- Run Finterest on your local server.
npm run dev
Finterest is a product proudly created by the following contributors:
Contributions:
- Built the article recommendation system using the Naive-Bayes algorithm, keeping track of the number and types of articles that a user has read.
- Created the profile page, integrating it with the statistics of the users.
- Designed database schema for Finterest.
- Improved on layout and resolved bugs, such as date parsing and authentication issues during refreshing.
Contributions:
- Created the branding and image of Finterest.
- Designed hi-fidelity prototypes and design system via Figma.
- Enhanced the parsing of raw news information from NewsData into OpenAI before storing into the database.
- Implemented the summary caching feature where AI summaries of articles would be generated on-demand by the user, and cached for future users to view.
Contributions:
- Implemented the fetching and parsing of news articles from NewsData API into Finterest.
- Set up OpenAI integration with NextJS
- Created basic chatbot logic and interface.
- Set up Firestore database.
Contributions:
- Designed database schema for Finterest.
- Set up Firebase authentication and implemented relevant features, such as login and registration.
- Implemented the feature to view one's history of article chats
- Converted the hi-fidelity prototypes into mobile-responsive interfaces, including the landing pages, chat interfaces and dashboard.
Contributions:
- Experimented with different AI LLM models and frameworks.
- Conducted prompt engineering for the chat bots present in Finterest.
- Developed marketing and monetisation strategies for Finterest.
- Carried out quality assurance testing after Finterest has been built, identifying bugs and layout issues.
In the course of developing Finterest, our team utilised a variety of online resources. We would like to sincerely thank the authors and creators of these resources.
- NewsData API for fetching of articles from NewsData
- OpenAI API for integration of OpenAI with NextJS
- TailwindCSS documentation for responsive layouts
- Firebase documentation for authentication and Firestore features
- Firebase Authentication with NextJS tutorial by Nangialai Stoman
- Landing page design inspiration by Honk
- How to Add Google Analytics to a Next.js Application by Mohammad Faisal
- ChatGPT for asking questions related to debugging and coding