Сегодня я закончил работу над своим первым настоящим проектом. Под названием «Вчера»

Я разработал его, чтобы попытаться научить других и себя ценности и важности финансового управления.

Я начал с поиска API с соответствующей информацией. Сначала я нашел Polygon. Это сделало бы все манипуляции с данными примерно в 30 раз проще. Поскольку у них были призывы ко всему, что вы могли себе представить. Но они предлагали только 2 года данных для бесплатных пользователей. Так что маловато будет. Затем я решил пройти через Alpha Vantage. У них была вся необходимая мне информация. Но это не было легкодоступно. 99% этого должно было быть сделано с помощью кода. В нем не было таких вещей, как расчет дивидендов, разделенные дни и т. д. Вместо этого он просто давал вам ОГРОМНОЕ количество данных со всем, что в нем было. Первоначально он звонил по неделям или месяцам, чтобы получить сводные данные. Но я быстро стал одержим его точностью. Поэтому я решил, что он будет вызывать всю дневную историю каждой акции, которую мы искали. Каждый ответ JSON в среднем весил около 1,6 МБ.

Тестирование было чрезвычайно проблематичным с такими огромными откликами. Поэтому мне пришлось начать исследовать такие инструменты, как Postman, чтобы попытаться локализовать большое количество данных во время тестирования. В любой момент времени у меня было несколько формул, проходящих через множество разных документов. Это было довольно сложно, но с задачей справился.

Я также обнаружил, что разделение компаний будет настоящим адом. К сожалению, я не осознавал этого, пока не был готов примерно на 99%. Теперь он занимает более 50% основных выполняемых вычислений.

Я смог довести его до того, что дал точные цифры о том, сколько акций у вас будет после каждого дробления. Но рассчитать дивиденды было непросто.

Если бы я понял, что шпагаты были вещью, прежде чем я начал. Я мог бы сделать весь расчет, используя функционально-ориентированное программирование вместо объекта. Я считаю, что мог бы сделать это таким образом, чтобы сплиты почти ни на что не повлияли. Но задним числом 20/20.

Тем не менее, этот проект заставил меня использовать множество функций JavaScript. Особенно с проблемными областями, которые у меня были: массивы и объекты, а точнее, методы, которые можно использовать между ними.

В целом, я доволен тем, как получилось мое приложение. Я просто немного расстроен, что не смог потратить больше времени на улучшение UI/UX. Это кажется пресным и немного скучным.