Recently, I started buying some ETFs. The stock market is fascinating but really hard to grasp, and making mistakes is really easy. In order to learn from my mistakes and have a better understanding of the market, I decided to create a newsletter that will notify the user as soon as the market close with all the information of the day.
![](https://cdn.prod.website-files.com/6472228357c3aae42379e220/6479fd415d902d36023e6466_Dark_Grey_Stock.webp)
Relevant Context
StockNotify is a personalized newsletter service that provides registered users with real-time stock updates. FinTech can be quite complicated but this is not the case of StockNotify, which allows users to stay abreast with market trends without constantly checking various sources. The objective of the project was to streamline this information flow and make it more accessible for end users.
![](https://cdn.prod.website-files.com/6472228357c3aae42379e220/6479fdc03be2aa101032b00f_loupe.webp)
Details
The project involves building a web-based application to handle user registration and stock preferences. The back end will be responsible for gathering real-time stock data through APIs and sending newsletters via email, containing this data at specified intervals. The project will primarily be written in Python and JavaScript, utilizing the Django web framework for the back end and React.js for the front end.
Stock data will be gathered using the Alpha Vantage API, which provides real-time and historical equity data, along with other related data like company news, crypto prices, and forex rates. The application's back-end will interact with this API, and all the data obtained will then be processed and stored in a PostgreSQL database. This database should be updated periodically using Python scripts and Django's task-scheduling module, Celery.
The front end involves creating a user-friendly interface for users to register, log in, and customize their stock preferences. This should be achieved using React.js, allowing for a dynamic, interactive, and responsive UI.
![](https://cdn.prod.website-files.com/6472228357c3aae42379e220/647a03f955eb805ecc3d8e76_la-technologie.webp)
Technical Notions
This project will necessitate the application of various technologies, including but not limited to:
- Python: The primary language for back-end development and data processing.
- Django: Python's high-level web framework used for building robust web applications.
- Celery: A Django module for handling scheduled and asynchronous tasks.
- JavaScript (ES6): The primary language for front-end development.
- React.js: A JavaScript library for building the user interface.
- Material-UI: A popular React UI framework for designing user interface components.
- PostgreSQL: An advanced open-source relational database for storing user data and stock data.
- SMTP (Simple Mail Transfer Protocol): Used for sending out email newsletters to users.
- HTML/CSS: For creating and styling the personalized email newsletters and parts of the user interface.