Skip to content

Wambyat/IISC-Summer-Internship

Repository files navigation

Stock Market Analysis Interface

This is project is made in Vue. Run the file RUNME.bat to start all the servers. Run npm install once before. Refer to the flow diagram (flow.png) in root folder for a visual understanding of the project.

It is a stock market analysis based project with social media posts and news integrated. News integration to be done using </newscatcher>

Reddit and 𝕏 (twitter) integration code is ready and will work and can be integrated as soon as the companies change their API rules. The github action will work if there is more than 2 branches (excluding legacy)

Folder Structure

Clicking on a folder will take you to an explanation. Clicking on a file will take you to the code.

Contains the LaTeX documentation of the project. This is only basic documentation that explains why we have used the various tools and frameworks.

Contains the main code of the project. The code is divided into two parts:

This is the backend of the project. It is made using Flask and is used to run the python scripts and send the data to the frontend. This calls nse_lib.

This is the frontend of the project. It is made using Vue and is used to display the data. It calls the Flask backend to get the data.

  • This has some base Vue project file.
  • This has the main code of the frontend.
    • This is where you can add some global css or images.
    • This has the components of the project. There are 2 of these. Graph.vue and SearchBar.vue.
      • Graph.vue: This is the component that displays the graph. It is made using HighChart.js.
      • SearchBar.vue: This is the component that displays the search bar. It is the dynamic search bar that is used to search for companies. It is made using some json filtering.
    • This has the router of the project. It is used to navigate between the different views.
    • This has the various "pages" of the project. There are 3 of these. HomeView.vue, ModelView.vue and StockView.vue.
      • HomeView.vue: This is the home page of the project. It has the search bar and corporate announcements.
      • ModelView.vue: This is the page that displays the model. It doesn't have anything as the model was incomplete.
      • StockView.vue: This is the page that displays the stock data. It has the graph and the news and social media posts. The social media posts are removed as the reddit and twitter APIs have changed.
    • This is the main Vue file. It has the navbar.
    • This is the main js file. It is the starter file.
    • This is the server that pings corporate announcements from NSE. It also calls the newscathcer API.
    • This has some general ests that were used to test the project.
      • graph_test.html: This is a html file that was used to test the graph.
      • graph_test.js: This is a js file that was used to test the graph.
      • selenium_Test.py: This was a selenium test that was used to try to circumvent the NSE cookie problem.
    • There are a lot of files in here. These are small scripts I wrote for debugging the model. They are not important.
      • reddit_pushshift.py: This is a file where I was testing the reddit pushshift API. This is a public databse. Try this before testing the official reddit API.
      • reddit_tester.py: This is a file where I was testing the reddit API.
      • twitter.py: This is a file where I was testing the twitter API.