Skip to content

Application to mock trading at Brazilian Stock Exchange.

License

Notifications You must be signed in to change notification settings

juliolmuller/stock-trader

Repository files navigation

💲 Stock Trader

Lessons Learned   |    Technologies   |    Environment Setup   |    Features

Creation Date Update Date Latest Version Pull Requests Welcome Project License

Application snapshot

Application developed during Cod3r's official Vue.js course, on Udemy, in order to simulate a Stock Exchange trading platform. Fake money, bur real shares market value fluctuations.

Check out the application running!

🏆 Lessons Learned

  • Building a full scalable Vue.js application;
  • Getting tto know Vuetify 😍 (best Material Design components library)
  • How to capture real-time shares values with Google Finance;
  • How to publish a Google Sheets document publicly;
  • How to turn Google Sheets into a REST API with a service provided by Sheets.Best;

🚀 Technologies & Resources

Frontend:

  • Vue.js v2
  • Vuex (official Vue's state manger)
  • Vuetify v2
  • Axios (HTTP client)

Development:

  • Visual Studio Code
  • Vue CLI & Node.js routines

🔨 Setting up the Environment

Make sure to have Node.js 14+ installed in your machine and yarn (or npm) available in the command line, then use the following routines:

$ yarn         # download dependencies
$ yarn dev     # run development server
$ yarn build   # build files for production

Before running the application copy/rename file .env.example as .env. The existent value should work already, so no further configuration should be required. If you want to change the API to consume the stocks data, update the variable VUE_APP_API_URL that comes with the repository.

⚡ Features Implementations

  • List all available shares in BM&FBOVESPA;
  • Provide the user with R$10k to spend in the platform;
  • Allow basic operations of buying & selling shares at their instant price;
  • Stores user's wallet at browser's local storage;
  • Fix layout responsiveness on small screens;
  • Upgrade to Vue 3 and use Composition API;