Mercurial > public > lazybear
changeset 339:e81c18164afb
Fixing backend API Requests
line wrap: on
line diff
--- a/LazyBear.xcodeproj/project.pbxproj Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear.xcodeproj/project.pbxproj Sat Apr 03 13:02:40 2021 +0200 @@ -14,9 +14,8 @@ 951566E72613A2B6007C0F36 /* TradingDates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951566E62613A2B6007C0F36 /* TradingDates.swift */; }; 951566EA2613A37C007C0F36 /* TradingDatesItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951566E92613A37C007C0F36 /* TradingDatesItem.swift */; }; 952045152610C7C600A76362 /* ConvertEpoch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952045142610C7C600A76362 /* ConvertEpoch.swift */; }; - 9523ED422615BDB2006D3D6F /* Phrases.json in Resources */ = {isa = PBXBuildFile; fileRef = 9523ED412615BDB2006D3D6F /* Phrases.json */; }; + 9523ED422615BDB2006D3D6F /* phrases.json in Resources */ = {isa = PBXBuildFile; fileRef = 9523ED412615BDB2006D3D6F /* phrases.json */; }; 9523ED542615CB7F006D3D6F /* HomeData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9523ED532615CB7F006D3D6F /* HomeData.swift */; }; - 9523ED592615D1D8006D3D6F /* GenericRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9523ED582615D1D8006D3D6F /* GenericRequest.swift */; }; 954D7EA7260BBA6600A13C50 /* WatchlistCompany+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D7EA5260BBA6600A13C50 /* WatchlistCompany+CoreDataClass.swift */; }; 954D7EA8260BBA6600A13C50 /* WatchlistCompany+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954D7EA6260BBA6600A13C50 /* WatchlistCompany+CoreDataProperties.swift */; }; 954D7EC2260BE70C00A13C50 /* SwiftlySearch in Frameworks */ = {isa = PBXBuildFile; productRef = 954D7EC1260BE70C00A13C50 /* SwiftlySearch */; }; @@ -30,15 +29,20 @@ 95672B9625DDA54700DCBE4A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95672B9525DDA54700DCBE4A /* Preview Assets.xcassets */; }; 95672B9825DDA54700DCBE4A /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B9725DDA54700DCBE4A /* Persistence.swift */; }; 95672B9B25DDA54800DCBE4A /* LazyBear.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 95672B9925DDA54800DCBE4A /* LazyBear.xcdatamodeld */; }; - 95893DCE2613C46B003698C5 /* HomeModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95893DCD2613C46B003698C5 /* HomeModels.swift */; }; + 95893DCE2613C46B003698C5 /* CompanyQuoteModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95893DCD2613C46B003698C5 /* CompanyQuoteModel.swift */; }; 958A735225E0170900FD7ECA /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 958A735125E0170900FD7ECA /* CloudKit.framework */; }; + 95A5186A26185AAB0002D27C /* GenericRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5186926185AAB0002D27C /* GenericRequest.swift */; }; + 95A5186E26186A6E0002D27C /* popularCompanies.json in Resources */ = {isa = PBXBuildFile; fileRef = 95A5186D26186A6E0002D27C /* popularCompanies.json */; }; + 95A5187126186C120002D27C /* PopularCompanyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5187026186C120002D27C /* PopularCompanyModel.swift */; }; + 95A5187426186C680002D27C /* SectorPerformanceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5187326186C680002D27C /* SectorPerformanceModel.swift */; }; + 95A5187726186C830002D27C /* IntradayPricesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5187626186C830002D27C /* IntradayPricesModel.swift */; }; + 95A5187A26186C960002D27C /* TradingDatesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5187926186C960002D27C /* TradingDatesModel.swift */; }; + 95A5188226186DB30002D27C /* SearchData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5188126186DB30002D27C /* SearchData.swift */; }; + 95A5188626186F590002D27C /* PriceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5188526186F590002D27C /* PriceView.swift */; }; + 95A51889261873D50002D27C /* BatchCompanyQuoteModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A51888261873D50002D27C /* BatchCompanyQuoteModel.swift */; }; 95A7C066261639E0003E2EC1 /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C065261639DF003E2EC1 /* SearchView.swift */; }; - 95A7C06A26163B54003E2EC1 /* ContainerHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C06926163B54003E2EC1 /* ContainerHelper.swift */; }; - 95A7C06D26163BDA003E2EC1 /* ScrollViewHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C06C26163BDA003E2EC1 /* ScrollViewHelper.swift */; }; - 95A7C0712616408C003E2EC1 /* companyTags.json in Resources */ = {isa = PBXBuildFile; fileRef = 95A7C0702616408C003E2EC1 /* companyTags.json */; }; + 95A7C06A26163B54003E2EC1 /* PopularCompanyHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C06926163B54003E2EC1 /* PopularCompanyHelper.swift */; }; 95A7C0742616409D003E2EC1 /* ParseJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C0732616409D003E2EC1 /* ParseJSON.swift */; }; - 95A7C077261640C5003E2EC1 /* CompanyTagsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C076261640C5003E2EC1 /* CompanyTagsModel.swift */; }; - 95A7C07A2616459A003E2EC1 /* UnplashPhotoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A7C0792616459A003E2EC1 /* UnplashPhotoModel.swift */; }; 95AD4A2D26078C1400498079 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AD4A2C26078C1400498079 /* ContentView.swift */; }; 95E745DA2614624500744A1E /* HomeDataPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95E745D92614624500744A1E /* HomeDataPreview.swift */; }; 95ECCA5D2612169200A67EFA /* LineShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ECCA5C2612169200A67EFA /* LineShape.swift */; }; @@ -55,9 +59,8 @@ 951566E62613A2B6007C0F36 /* TradingDates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TradingDates.swift; sourceTree = "<group>"; }; 951566E92613A37C007C0F36 /* TradingDatesItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TradingDatesItem.swift; sourceTree = "<group>"; }; 952045142610C7C600A76362 /* ConvertEpoch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConvertEpoch.swift; sourceTree = "<group>"; }; - 9523ED412615BDB2006D3D6F /* Phrases.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Phrases.json; sourceTree = "<group>"; }; + 9523ED412615BDB2006D3D6F /* phrases.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = phrases.json; sourceTree = "<group>"; }; 9523ED532615CB7F006D3D6F /* HomeData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeData.swift; sourceTree = "<group>"; }; - 9523ED582615D1D8006D3D6F /* GenericRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericRequest.swift; sourceTree = "<group>"; }; 954D7EA5260BBA6600A13C50 /* WatchlistCompany+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WatchlistCompany+CoreDataClass.swift"; sourceTree = "<group>"; }; 954D7EA6260BBA6600A13C50 /* WatchlistCompany+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WatchlistCompany+CoreDataProperties.swift"; sourceTree = "<group>"; }; 9550443926111B2B000E0BCB /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; }; @@ -72,16 +75,21 @@ 95672B9725DDA54700DCBE4A /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; }; 95672B9A25DDA54800DCBE4A /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = "<group>"; }; 95672B9C25DDA54800DCBE4A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 95893DCD2613C46B003698C5 /* HomeModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeModels.swift; sourceTree = "<group>"; }; + 95893DCD2613C46B003698C5 /* CompanyQuoteModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyQuoteModel.swift; sourceTree = "<group>"; }; 958A734E25E016FD00FD7ECA /* LazyBear.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LazyBear.entitlements; sourceTree = "<group>"; }; 958A735125E0170900FD7ECA /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; }; + 95A5186926185AAB0002D27C /* GenericRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericRequest.swift; sourceTree = "<group>"; }; + 95A5186D26186A6E0002D27C /* popularCompanies.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = popularCompanies.json; sourceTree = "<group>"; }; + 95A5187026186C120002D27C /* PopularCompanyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopularCompanyModel.swift; sourceTree = "<group>"; }; + 95A5187326186C680002D27C /* SectorPerformanceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectorPerformanceModel.swift; sourceTree = "<group>"; }; + 95A5187626186C830002D27C /* IntradayPricesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntradayPricesModel.swift; sourceTree = "<group>"; }; + 95A5187926186C960002D27C /* TradingDatesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TradingDatesModel.swift; sourceTree = "<group>"; }; + 95A5188126186DB30002D27C /* SearchData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchData.swift; sourceTree = "<group>"; }; + 95A5188526186F590002D27C /* PriceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceView.swift; sourceTree = "<group>"; }; + 95A51888261873D50002D27C /* BatchCompanyQuoteModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchCompanyQuoteModel.swift; sourceTree = "<group>"; }; 95A7C065261639DF003E2EC1 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = "<group>"; }; - 95A7C06926163B54003E2EC1 /* ContainerHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerHelper.swift; sourceTree = "<group>"; }; - 95A7C06C26163BDA003E2EC1 /* ScrollViewHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollViewHelper.swift; sourceTree = "<group>"; }; - 95A7C0702616408C003E2EC1 /* companyTags.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = companyTags.json; sourceTree = "<group>"; }; + 95A7C06926163B54003E2EC1 /* PopularCompanyHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopularCompanyHelper.swift; sourceTree = "<group>"; }; 95A7C0732616409D003E2EC1 /* ParseJSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseJSON.swift; sourceTree = "<group>"; }; - 95A7C076261640C5003E2EC1 /* CompanyTagsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyTagsModel.swift; sourceTree = "<group>"; }; - 95A7C0792616459A003E2EC1 /* UnplashPhotoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnplashPhotoModel.swift; sourceTree = "<group>"; }; 95AD4A2C26078C1400498079 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; }; 95E745D92614624500744A1E /* HomeDataPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDataPreview.swift; sourceTree = "<group>"; }; 95ECCA5C2612169200A67EFA /* LineShape.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineShape.swift; sourceTree = "<group>"; }; @@ -120,8 +128,8 @@ isa = PBXGroup; children = ( 952045142610C7C600A76362 /* ConvertEpoch.swift */, - 9523ED582615D1D8006D3D6F /* GenericRequest.swift */, 95A7C0732616409D003E2EC1 /* ParseJSON.swift */, + 95A5186926185AAB0002D27C /* GenericRequest.swift */, ); path = "Global functions"; sourceTree = "<group>"; @@ -129,8 +137,8 @@ 9523ED402615BD93006D3D6F /* Resources */ = { isa = PBXGroup; children = ( - 95A7C0702616408C003E2EC1 /* companyTags.json */, - 9523ED412615BDB2006D3D6F /* Phrases.json */, + 9523ED412615BDB2006D3D6F /* phrases.json */, + 95A5186D26186A6E0002D27C /* popularCompanies.json */, ); path = Resources; sourceTree = "<group>"; @@ -222,7 +230,10 @@ isa = PBXGroup; children = ( 9523ED532615CB7F006D3D6F /* HomeData.swift */, - 95893DCD2613C46B003698C5 /* HomeModels.swift */, + 95893DCD2613C46B003698C5 /* CompanyQuoteModel.swift */, + 95A5187926186C960002D27C /* TradingDatesModel.swift */, + 95A5187626186C830002D27C /* IntradayPricesModel.swift */, + 95A5187326186C680002D27C /* SectorPerformanceModel.swift */, ); path = Networking; sourceTree = "<group>"; @@ -232,6 +243,7 @@ children = ( 95ECCA5F261216D500A67EFA /* LineView.swift */, 95ECCA5C2612169200A67EFA /* LineShape.swift */, + 95A5188526186F590002D27C /* PriceView.swift */, ); path = "Global Helpers"; sourceTree = "<group>"; @@ -257,8 +269,7 @@ 95A7C06226163951003E2EC1 /* Helpers */ = { isa = PBXGroup; children = ( - 95A7C06C26163BDA003E2EC1 /* ScrollViewHelper.swift */, - 95A7C06926163B54003E2EC1 /* ContainerHelper.swift */, + 95A7C06926163B54003E2EC1 /* PopularCompanyHelper.swift */, ); path = Helpers; sourceTree = "<group>"; @@ -266,8 +277,9 @@ 95A7C06326163957003E2EC1 /* Networking */ = { isa = PBXGroup; children = ( - 95A7C0792616459A003E2EC1 /* UnplashPhotoModel.swift */, - 95A7C076261640C5003E2EC1 /* CompanyTagsModel.swift */, + 95A5188126186DB30002D27C /* SearchData.swift */, + 95A5187026186C120002D27C /* PopularCompanyModel.swift */, + 95A51888261873D50002D27C /* BatchCompanyQuoteModel.swift */, ); path = Networking; sourceTree = "<group>"; @@ -362,9 +374,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 95A5186E26186A6E0002D27C /* popularCompanies.json in Resources */, 95672B9625DDA54700DCBE4A /* Preview Assets.xcassets in Resources */, - 9523ED422615BDB2006D3D6F /* Phrases.json in Resources */, - 95A7C0712616408C003E2EC1 /* companyTags.json in Resources */, + 9523ED422615BDB2006D3D6F /* phrases.json in Resources */, 95672B9325DDA54700DCBE4A /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -377,34 +389,38 @@ buildActionMask = 2147483647; files = ( 950C36E3260FB6180081CF53 /* HapticsManager.swift in Sources */, - 9523ED592615D1D8006D3D6F /* GenericRequest.swift in Sources */, + 95A5186A26185AAB0002D27C /* GenericRequest.swift in Sources */, 95E745DA2614624500744A1E /* HomeDataPreview.swift in Sources */, + 95A5187726186C830002D27C /* IntradayPricesModel.swift in Sources */, + 95A5188626186F590002D27C /* PriceView.swift in Sources */, 9550444926111FC9000E0BCB /* TopStockRow.swift in Sources */, 9523ED542615CB7F006D3D6F /* HomeData.swift in Sources */, 9550444326111E7A000E0BCB /* SectorRow.swift in Sources */, 95ECCA60261216D500A67EFA /* LineView.swift in Sources */, - 95A7C06D26163BDA003E2EC1 /* ScrollViewHelper.swift in Sources */, 9550443A26111B2B000E0BCB /* HomeView.swift in Sources */, 950C36E8260FBB550081CF53 /* UserSettings+CoreDataClass.swift in Sources */, + 95A5187426186C680002D27C /* SectorPerformanceModel.swift in Sources */, 95672B9825DDA54700DCBE4A /* Persistence.swift in Sources */, 95A7C0742616409D003E2EC1 /* ParseJSON.swift in Sources */, 950C36E9260FBB550081CF53 /* UserSettings+CoreDataProperties.swift in Sources */, 954D7EA8260BBA6600A13C50 /* WatchlistCompany+CoreDataProperties.swift in Sources */, 951566E72613A2B6007C0F36 /* TradingDates.swift in Sources */, - 95893DCE2613C46B003698C5 /* HomeModels.swift in Sources */, + 95893DCE2613C46B003698C5 /* CompanyQuoteModel.swift in Sources */, 95672B8F25DDA54700DCBE4A /* LazyBearApp.swift in Sources */, 95A7C066261639E0003E2EC1 /* SearchView.swift in Sources */, + 95A51889261873D50002D27C /* BatchCompanyQuoteModel.swift in Sources */, 95ECCA5D2612169200A67EFA /* LineShape.swift in Sources */, - 95A7C06A26163B54003E2EC1 /* ContainerHelper.swift in Sources */, + 95A7C06A26163B54003E2EC1 /* PopularCompanyHelper.swift in Sources */, 9550444C26111FED000E0BCB /* TopStockItem.swift in Sources */, 951566EA2613A37C007C0F36 /* TradingDatesItem.swift in Sources */, 951490552610BD2B00BDEEB5 /* WelcomeView.swift in Sources */, + 95A5188226186DB30002D27C /* SearchData.swift in Sources */, + 95A5187A26186C960002D27C /* TradingDatesModel.swift in Sources */, 9550444626111EE5000E0BCB /* SectorItem.swift in Sources */, - 95A7C077261640C5003E2EC1 /* CompanyTagsModel.swift in Sources */, + 95A5187126186C120002D27C /* PopularCompanyModel.swift in Sources */, 954D7EA7260BBA6600A13C50 /* WatchlistCompany+CoreDataClass.swift in Sources */, 95672B9B25DDA54800DCBE4A /* LazyBear.xcdatamodeld in Sources */, 95AD4A2D26078C1400498079 /* ContentView.swift in Sources */, - 95A7C07A2616459A003E2EC1 /* UnplashPhotoModel.swift in Sources */, 952045152610C7C600A76362 /* ConvertEpoch.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0;
Binary file LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- a/LazyBear.xcodeproj/xcshareddata/xcschemes/LazyBear.xcscheme Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear.xcodeproj/xcshareddata/xcschemes/LazyBear.xcscheme Sat Apr 03 13:02:40 2021 +0200 @@ -31,7 +31,7 @@ </Testables> </TestAction> <LaunchAction - buildConfiguration = "Debug" + buildConfiguration = "Release" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0"
--- a/LazyBear/Global functions/GenericRequest.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Global functions/GenericRequest.swift Sat Apr 03 13:02:40 2021 +0200 @@ -2,7 +2,7 @@ // GenericRequest.swift // LazyBear // -// Created by Dennis Concepción Martín on 1/4/21. +// Created by Dennis Concepción Martín on 3/4/21. // import SwiftUI
--- a/LazyBear/Global functions/ParseJSON.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Global functions/ParseJSON.swift Sat Apr 03 13:02:40 2021 +0200 @@ -7,7 +7,7 @@ import Foundation -let companyTags: [CompanyTagsModel] = parseJSON("companyTags.json") +let popularCompanies: [PopularCompanyModel] = parseJSON("popularCompanies.json") func parseJSON<T: Decodable>(_ filename: String) -> T { let data: Data
--- a/LazyBear/Resources/Phrases.json Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -[ - { - "funny": [ - "Tomorrow is often the busiest day of the week", - "They shorted my stock, I shortened their lives", - "The stock market is still les volatile than most of my romantic relationships", - "Dear diary, today the stock market did not crash", - "If you want to trade in derivates, god bless you", - "When the market crash, just take the absolute value", - "I was losing money before the stock market crashed", - "The Lazybear of Wall Street", - "Can't lose your savings if you have no savings", - "Stonks", - "So you dont buy more when a stock goes down?", - "Hey the stock market is up AAAA It's down", - "Top 3 richest people: Musk, Bezos, not you", - "Oh no... my stock did what?", - "Are you a Redditor?", - "No I don't know what happened", - "Hey, Do you want some quantitative easing?", - "Money printer go Brrr", - "You have two cows. The State takes both of them and gives you the milk" - ] - } -]
--- a/LazyBear/Resources/companyTags.json Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2318 +0,0 @@ -[ - { - "name": "Other Financial Vehicles " - }, - { - "name": "Sovereign" - }, - { - "name": "Multi-Line Insurance" - }, - { - "name": "Sporting Goods Stores " - }, - { - "name": "Internet Publishing and Broadcasting and Web Search Portals" - }, - { - "name": "Optical Instrument and Lens Manufacturing " - }, - { - "name": "Convention and Trade Show Organizers" - }, - { - "name": "Metal Kitchen Cookware, Utensil, Cutlery, and Flatware (except Precious) Manufacturing " - }, - { - "name": "Food Distributors" - }, - { - "name": "Fish and Seafood Markets " - }, - { - "name": "Iron and Steel Forging " - }, - { - "name": "Tobacco Stores " - }, - { - "name": "Other Commercial and Service Industry Machinery Manufacturing " - }, - { - "name": "Other Basic Inorganic Chemical Manufacturing " - }, - { - "name": "Other Technical and Trade Schools " - }, - { - "name": "Other Nonscheduled Air Transportation " - }, - { - "name": "Soft Drink Manufacturing " - }, - { - "name": "All Other Petroleum and Coal Products Manufacturing " - }, - { - "name": "Jewelry and Silverware Manufacturing " - }, - { - "name": "Petroleum Bulk Stations and Terminals " - }, - { - "name": "Amusement and Theme Parks " - }, - { - "name": "All Other Home Furnishings Stores " - }, - { - "name": "General Medical and Surgical Hospitals " - }, - { - "name": "Metal Fabrication" - }, - { - "name": "General Government" - }, - { - "name": "Service Establishment Equipment and Supplies Merchant Wholesalers " - }, - { - "name": "All Other General Merchandise Stores " - }, - { - "name": "Nonchocolate Confectionery Manufacturing" - }, - { - "name": "Other Personal Care Services " - }, - { - "name": "Funeral Homes and Funeral Services " - }, - { - "name": "Industrial Machinery and Equipment Merchant Wholesalers " - }, - { - "name": "Broadwoven Fabric Mills" - }, - { - "name": "Other Chemical and Fertilizer Mineral Mining " - }, - { - "name": "Industrial Supplies Merchant Wholesalers" - }, - { - "name": "Electronics Stores " - }, - { - "name": "Dental Equipment and Supplies Manufacturing " - }, - { - "name": "Other Motor Vehicle Parts Manufacturing" - }, - { - "name": "Pipeline Transportation of Natural Gas" - }, - { - "name": "Mining Machinery and Equipment Manufacturing " - }, - { - "name": "Pharmaceuticals: Other" - }, - { - "name": "Water Utilities" - }, - { - "name": "Computer and Computer Peripheral Equipment and Software Merchant Wholesalers " - }, - { - "name": "Other Services (except Public Administration)" - }, - { - "name": "Wood Office Furniture Manufacturing " - }, - { - "name": "All Other Miscellaneous Food Manufacturing " - }, - { - "name": "Administrative and Support and Waste Management and Remediation Services" - }, - { - "name": "Toilet Preparation Manufacturing" - }, - { - "name": "Air Freight/Couriers" - }, - { - "name": "Gold Ore and Silver Ore Mining" - }, - { - "name": "Miscellaneous Commercial Services" - }, - { - "name": "Scheduled Freight Air Transportation " - }, - { - "name": "Other Individual and Family Services " - }, - { - "name": "Environmental Services" - }, - { - "name": "Office Machinery and Equipment Rental and Leasing" - }, - { - "name": "Beverages: Alcoholic" - }, - { - "name": "Aerospace & Defense" - }, - { - "name": "Financial Publishing/Services" - }, - { - "name": "Outdoor Advertising" - }, - { - "name": "Dog and Cat Food Manufacturing " - }, - { - "name": "Jewelry, Watch, Precious Stone, and Precious Metal Merchant Wholesalers " - }, - { - "name": "Consumer Lending " - }, - { - "name": "Software Publishers" - }, - { - "name": "Catalog/Specialty Distribution" - }, - { - "name": "Consumer Sundries" - }, - { - "name": "Sports Teams and Clubs " - }, - { - "name": "Fabricated Pipe and Pipe Fitting Manufacturing " - }, - { - "name": "Publishing: Newspapers" - }, - { - "name": "Current-Carrying Wiring Device Manufacturing " - }, - { - "name": "Engineering & Construction" - }, - { - "name": "Third Party Administration of Insurance and Pension Funds " - }, - { - "name": "All Other Support Activities for Transportation " - }, - { - "name": "Capacitor, Resistor, Coil, Transformer, and Other Inductor Manufacturing " - }, - { - "name": "Offices of Physicians (except Mental Health Specialists) " - }, - { - "name": "Other Direct Selling Establishments " - }, - { - "name": "Security Guards and Patrol Services " - }, - { - "name": "Commercial Photography " - }, - { - "name": "Iron Ore Mining" - }, - { - "name": "Direct Life Insurance Carriers " - }, - { - "name": "Industrial Specialties" - }, - { - "name": "Colleges, Universities, and Professional Schools " - }, - { - "name": "Amusement Arcades" - }, - { - "name": "Precious Metals" - }, - { - "name": "Chemicals: Specialty" - }, - { - "name": "Industrial Conglomerates" - }, - { - "name": "Florists " - }, - { - "name": "Apparel Accessories and Other Apparel Manufacturing " - }, - { - "name": "Manufactured Home (Mobile Home) Manufacturing " - }, - { - "name": "Electronic Production Equipment" - }, - { - "name": "Farm Supplies Merchant Wholesalers " - }, - { - "name": "Internet Software/Services" - }, - { - "name": "Automotive Parts and Accessories Stores " - }, - { - "name": "Electronics/Appliances" - }, - { - "name": "Electrical Products" - }, - { - "name": "Transportation and Warehousing" - }, - { - "name": "Analytical Laboratory Instrument Manufacturing " - }, - { - "name": "Home Centers " - }, - { - "name": "Reinsurance Carriers " - }, - { - "name": "Travel Agencies" - }, - { - "name": "Directory and Mailing List Publishers " - }, - { - "name": "Electronic Shopping and Mail-Order Houses " - }, - { - "name": "All Other Miscellaneous Waste Management Services " - }, - { - "name": "Berry (except Strawberry) Farming " - }, - { - "name": "Air-Conditioning and Warm Air Heating Equipment and Commercial and Industrial Refrigeration Equipment Manufacturing " - }, - { - "name": "Investment Banks/Brokers" - }, - { - "name": "Automotive Body, Paint, and Interior Repair and Maintenance " - }, - { - "name": "Managed Health Care" - }, - { - "name": "Technology Services" - }, - { - "name": "All Other Outpatient Care Centers " - }, - { - "name": "Periodical Publishers " - }, - { - "name": "Real Estate Development" - }, - { - "name": "Wine and Distilled Alcoholic Beverage Merchant Wholesalers " - }, - { - "name": "Prefabricated Wood Building Manufacturing " - }, - { - "name": "Containers/Packaging" - }, - { - "name": "Computer Processing Hardware" - }, - { - "name": "Bituminous Coal Underground Mining " - }, - { - "name": "Water and Sewer Line and Related Structures Construction " - }, - { - "name": "Broadcasting" - }, - { - "name": "Oil & Gas Pipelines" - }, - { - "name": "Packaged Software" - }, - { - "name": "Aluminum Sheet, Plate, and Foil Manufacturing " - }, - { - "name": "Personnel Services" - }, - { - "name": "Lawn and Garden Tractor and Home Lawn and Garden Equipment Manufacturing " - }, - { - "name": "Power-Driven Handtool Manufacturing " - }, - { - "name": "Fruit and Vegetable Canning " - }, - { - "name": "Pottery, Ceramics, and Plumbing Fixture Manufacturing " - }, - { - "name": "Cookie and Cracker Manufacturing " - }, - { - "name": "Other Transportation" - }, - { - "name": "Electrical Apparatus and Equipment, Wiring Supplies, and Related Equipment Merchant Wholesalers " - }, - { - "name": "All Other Information Services" - }, - { - "name": "Commodity Contracts Brokerage " - }, - { - "name": "Flour Milling " - }, - { - "name": "Totalizing Fluid Meter and Counting Device Manufacturing " - }, - { - "name": "Sanitary Paper Product Manufacturing " - }, - { - "name": "Motor Vehicle Body Manufacturing " - }, - { - "name": "Aircraft Manufacturing " - }, - { - "name": "Fossil Fuel Electric Power Generation " - }, - { - "name": "Temporary Help Services" - }, - { - "name": "Sporting and Recreational Goods and Supplies Merchant Wholesalers " - }, - { - "name": "Accommodation and Food Services" - }, - { - "name": "Industrial Machinery" - }, - { - "name": "Automobile Manufacturing " - }, - { - "name": "Outpatient Mental Health and Substance Abuse Centers " - }, - { - "name": "Motor and Generator Manufacturing " - }, - { - "name": "Motor Vehicle Seating and Interior Trim Manufacturing" - }, - { - "name": "Hardware Manufacturing" - }, - { - "name": "Offices of Real Estate Agents and Brokers" - }, - { - "name": "Rice Milling " - }, - { - "name": "Hobby, Toy, and Game Stores " - }, - { - "name": "Other Food Crops Grown Under Cover " - }, - { - "name": "All Other Business Support Services " - }, - { - "name": "All Other Travel Arrangement and Reservation Services " - }, - { - "name": "Surgical and Medical Instrument Manufacturing " - }, - { - "name": "Other Chemical and Allied Products Merchant Wholesalers " - }, - { - "name": "Scenic and Sightseeing Transportation, Land" - }, - { - "name": "Real Estate Credit " - }, - { - "name": "Professional, Scientific, and Technical Services" - }, - { - "name": "Household Furniture (except Wood and Metal) Manufacturing " - }, - { - "name": "Supermarkets and Other Grocery (except Convenience) Stores " - }, - { - "name": "Management of Companies and Enterprises" - }, - { - "name": "Medicinal and Botanical Manufacturing " - }, - { - "name": "Cable and Other Subscription Programming" - }, - { - "name": "Other Electric Power Generation " - }, - { - "name": "Energy Minerals" - }, - { - "name": "Diagnostic Imaging Centers " - }, - { - "name": "Miscellaneous Intermediation " - }, - { - "name": "Animal (except Poultry) Slaughtering " - }, - { - "name": "Direct Health and Medical Insurance Carriers " - }, - { - "name": "Non-Energy Minerals" - }, - { - "name": "Dental Laboratories " - }, - { - "name": "Highway, Street, and Bridge Construction " - }, - { - "name": "Women's, Children's, and Infants' Clothing and Accessories Merchant Wholesalers " - }, - { - "name": "Oilfield Services/Equipment" - }, - { - "name": "Geophysical Surveying and Mapping Services" - }, - { - "name": "Specialty Insurance" - }, - { - "name": "All Other Miscellaneous Manufacturing " - }, - { - "name": "Metal Ore Mining" - }, - { - "name": "Rolling Mill and Other Metalworking Machinery Manufacturing " - }, - { - "name": "Dimension Stone Mining and Quarrying " - }, - { - "name": "Home Furnishing Merchant Wholesalers " - }, - { - "name": "Food Retail" - }, - { - "name": "Optical Goods Stores " - }, - { - "name": "Cyclic Crude, Intermediate, and Gum and Wood Chemical Manufacturing " - }, - { - "name": "Other Direct Insurance (except Life, Health, and Medical) Carriers " - }, - { - "name": "Other Engine Equipment Manufacturing " - }, - { - "name": "Motor Vehicle Metal Stamping" - }, - { - "name": "Savings Institutions " - }, - { - "name": "Advertising Agencies" - }, - { - "name": "Flower, Nursery Stock, and Florists' Supplies Merchant Wholesalers " - }, - { - "name": "Commercial Air, Rail, and Water Transportation Equipment Rental and Leasing " - }, - { - "name": "Restaurants" - }, - { - "name": "Metal Can Manufacturing " - }, - { - "name": "Meat Processed from Carcasses " - }, - { - "name": "Airlines" - }, - { - "name": "Folding Paperboard Box Manufacturing " - }, - { - "name": "All Other Miscellaneous Ambulatory Health Care Services " - }, - { - "name": "Other Apparel Knitting Mills " - }, - { - "name": "Investment Trusts/Mutual Funds" - }, - { - "name": "Media Conglomerates" - }, - { - "name": "New Single-Family Housing Construction (except For-Sale Builders) " - }, - { - "name": "Industrial Services" - }, - { - "name": "Postal Service" - }, - { - "name": "Ball and Roller Bearing Manufacturing" - }, - { - "name": "Sugarcane Farming" - }, - { - "name": "Payroll Services " - }, - { - "name": "Province/State" - }, - { - "name": "Children's and Infants' Clothing Stores " - }, - { - "name": "Alumina Refining and Primary Aluminum Production " - }, - { - "name": "Nonferrous Metal Die-Casting Foundries " - }, - { - "name": "Hardwood Veneer and Plywood Manufacturing " - }, - { - "name": "Footwear Manufacturing " - }, - { - "name": "Frozen Specialty Food Manufacturing " - }, - { - "name": "Marketing Research and Public Opinion Polling" - }, - { - "name": "All Other Miscellaneous Electrical Equipment and Component Manufacturing " - }, - { - "name": "Radio and Television Broadcasting and Wireless Communications Equipment Manufacturing" - }, - { - "name": "Miscellaneous Manufacturing" - }, - { - "name": "Bus and Other Motor Vehicle Transit Systems " - }, - { - "name": "Family Clothing Stores " - }, - { - "name": "Framing Contractors " - }, - { - "name": "Surveying and Mapping (except Geophysical) Services" - }, - { - "name": "Residential Remodelers " - }, - { - "name": "Real Estate and Rental and Leasing" - }, - { - "name": "Fruit and Tree Nut Combination Farming " - }, - { - "name": "Professional and Management Development Training " - }, - { - "name": "Warm Air Heating and Air-Conditioning Equipment and Supplies Merchant Wholesalers " - }, - { - "name": "Telecommunications Equipment" - }, - { - "name": "Heating Equipment (except Warm Air Furnaces) Manufacturing " - }, - { - "name": "Radio Networks " - }, - { - "name": "Steel" - }, - { - "name": "Construction Machinery Manufacturing" - }, - { - "name": "Book Stores " - }, - { - "name": "Geothermal Electric Power Generation " - }, - { - "name": "Drywall and Insulation Contractors " - }, - { - "name": "Wet Corn Milling " - }, - { - "name": "Breakfast Cereal Manufacturing" - }, - { - "name": "Prefabricated Metal Building and Component Manufacturing " - }, - { - "name": "Plastics Pipe and Pipe Fitting Manufacturing " - }, - { - "name": "Burial Casket Manufacturing " - }, - { - "name": "Ophthalmic Goods Manufacturing " - }, - { - "name": "Motorcycle, Bicycle, and Parts Manufacturing " - }, - { - "name": "Collection Agencies" - }, - { - "name": "Citrus (except Orange) Groves " - }, - { - "name": "Medical, Dental, and Hospital Equipment and Supplies Merchant Wholesalers " - }, - { - "name": "Offices of Lawyers" - }, - { - "name": "Power Boiler and Heat Exchanger Manufacturing" - }, - { - "name": "Securities Brokerage " - }, - { - "name": "Retail Trade" - }, - { - "name": "Soap and Other Detergent Manufacturing " - }, - { - "name": "Switchgear and Switchboard Apparatus Manufacturing " - }, - { - "name": "Land Subdivision " - }, - { - "name": "Oil & Gas Production" - }, - { - "name": "Pharmacies and Drug Stores " - }, - { - "name": "Industrial Truck, Tractor, Trailer, and Stacker Machinery Manufacturing " - }, - { - "name": "Gas Distributors" - }, - { - "name": "Wood Kitchen Cabinet and Countertop Manufacturing" - }, - { - "name": "Industrial Building Construction " - }, - { - "name": "Support Activities for Oil and Gas Operations " - }, - { - "name": "All Other Insurance Related Activities " - }, - { - "name": "Biomass Electric Power Generation " - }, - { - "name": "Industrial and Commercial Fan and Blower and Air Purification Equipment Manufacturing " - }, - { - "name": "Other Aircraft Parts and Auxiliary Equipment Manufacturing " - }, - { - "name": "Television Broadcasting" - }, - { - "name": "Investigation Services " - }, - { - "name": "Engineering Services" - }, - { - "name": "Small Arms, Ordnance, and Ordnance Accessories Manufacturing " - }, - { - "name": "Support Activities for Metal Mining " - }, - { - "name": "Wholesale Trade" - }, - { - "name": "Beverages: Non-Alcoholic" - }, - { - "name": "Other Clothing Stores " - }, - { - "name": "Audio and Video Equipment Manufacturing" - }, - { - "name": "Other Grocery and Related Products Merchant Wholesalers " - }, - { - "name": "All Other Transportation Equipment Manufacturing " - }, - { - "name": "Potash, Soda, and Borate Mineral Mining " - }, - { - "name": "Commercial Services" - }, - { - "name": "Roasted Nuts and Peanut Butter Manufacturing " - }, - { - "name": "Ice Cream and Frozen Dessert Manufacturing" - }, - { - "name": "Other Automotive Mechanical and Electrical Repair and Maintenance " - }, - { - "name": "Support Activities for Coal Mining " - }, - { - "name": "Residential Property Managers " - }, - { - "name": "Chemicals: Agricultural" - }, - { - "name": "Hotels/Resorts/Cruiselines" - }, - { - "name": "Miscellaneous" - }, - { - "name": "Petroleum and Petroleum Products Merchant Wholesalers (except Bulk Stations and Terminals) " - }, - { - "name": "Trucking" - }, - { - "name": "Breweries" - }, - { - "name": "Electronic Connector Manufacturing " - }, - { - "name": "Freight Transportation Arrangement " - }, - { - "name": "Wired Telecommunications Carriers " - }, - { - "name": "Distribution Services" - }, - { - "name": "Commercial, Industrial, and Institutional Electric Lighting Fixture Manufacturing " - }, - { - "name": "Armored Car Services " - }, - { - "name": "Paperboard Mills " - }, - { - "name": "Medical Specialties" - }, - { - "name": "Clay Building Material and Refractories Manufacturing " - }, - { - "name": "Paper (except Newsprint) Mills " - }, - { - "name": "Advertising/Marketing Services" - }, - { - "name": "Savings Banks" - }, - { - "name": "Pharmaceuticals: Generic" - }, - { - "name": "Photographic Film, Paper, Plate, and Chemical Manufacturing " - }, - { - "name": "Search, Detection, Navigation, Guidance, Aeronautical, and Nautical System and Instrument Manufacturing " - }, - { - "name": "Printing Machinery and Equipment Manufacturing " - }, - { - "name": "Homebuilding" - }, - { - "name": "Consumer Durables" - }, - { - "name": "Process Industries" - }, - { - "name": "Other Crushed and Broken Stone Mining and Quarrying " - }, - { - "name": "Food: Major Diversified" - }, - { - "name": "Nitrogenous Fertilizer Manufacturing " - }, - { - "name": "Ship Building and Repairing " - }, - { - "name": "Tools & Hardware" - }, - { - "name": "Semiconductors" - }, - { - "name": "Painting and Wall Covering Contractors" - }, - { - "name": "Meat and Meat Product Merchant Wholesalers " - }, - { - "name": "Refrigeration Equipment and Supplies Merchant Wholesalers " - }, - { - "name": "Fabricated Structural Metal Manufacturing " - }, - { - "name": "Offices of Other Holding Companies " - }, - { - "name": "Electric Bulk Power Transmission and Control " - }, - { - "name": "Hosiery and Sock Mills" - }, - { - "name": "Ready-Mix Concrete Manufacturing" - }, - { - "name": "Tobacco" - }, - { - "name": "Tour Operators" - }, - { - "name": "Offices of Bank Holding Companies " - }, - { - "name": "Site Preparation Contractors" - }, - { - "name": "Arts, Entertainment, and Recreation" - }, - { - "name": "Guided Missile and Space Vehicle Manufacturing " - }, - { - "name": "Fluid Power Valve and Hose Fitting Manufacturing " - }, - { - "name": "Conveyor and Conveying Equipment Manufacturing " - }, - { - "name": "Automobile and Other Motor Vehicle Merchant Wholesalers " - }, - { - "name": "Oil Refining/Marketing" - }, - { - "name": "Information" - }, - { - "name": "Tire Manufacturing (except Retreading) " - }, - { - "name": "Lumber, Plywood, Millwork, and Wood Panel Merchant Wholesalers " - }, - { - "name": "Other Airport Operations " - }, - { - "name": "Security Systems Services (except Locksmiths) " - }, - { - "name": "Copper, Nickel, Lead, and Zinc Mining" - }, - { - "name": "Truck, Utility Trailer, and RV (Recreational Vehicle) Rental and Leasing " - }, - { - "name": "Corrugated and Solid Fiber Box Manufacturing " - }, - { - "name": "Leather and Hide Tanning and Finishing" - }, - { - "name": "Satellite Telecommunications" - }, - { - "name": "All Other Specialty Food Stores " - }, - { - "name": "Plumbing and Heating Equipment and Supplies (Hydronics) Merchant Wholesalers " - }, - { - "name": "All Other Miscellaneous General Purpose Machinery Manufacturing " - }, - { - "name": "Pesticide and Other Agricultural Chemical Manufacturing" - }, - { - "name": "Mixed Mode Transit Systems " - }, - { - "name": "Electronic Components" - }, - { - "name": "Bottled Water Manufacturing " - }, - { - "name": "Nonscheduled Chartered Passenger Air Transportation " - }, - { - "name": "Biotechnology" - }, - { - "name": "Steel Wire Drawing " - }, - { - "name": "Home Improvement Chains" - }, - { - "name": "Bituminous Coal and Lignite Surface Mining " - }, - { - "name": "Other Construction Material Merchant Wholesalers " - }, - { - "name": "Cosmetology and Barber Schools " - }, - { - "name": "All Other Miscellaneous Textile Product Mills " - }, - { - "name": "Scheduled Passenger Air Transportation " - }, - { - "name": "Computer Peripherals" - }, - { - "name": "Investment Managers" - }, - { - "name": "Natural Gas Distribution " - }, - { - "name": "Phosphatic Fertilizer Manufacturing " - }, - { - "name": "Motor Vehicle Brake System Manufacturing" - }, - { - "name": "Other Accounting Services " - }, - { - "name": "Publishing: Books/Magazines" - }, - { - "name": "Trust, Fiduciary, and Custody Activities " - }, - { - "name": "Other Snack Food Manufacturing " - }, - { - "name": "Soybean and Other Oilseed Processing " - }, - { - "name": "Other Heavy and Civil Engineering Construction " - }, - { - "name": "Specialty Stores" - }, - { - "name": "Crude Petroleum Extraction " - }, - { - "name": "Other Aluminum Rolling, Drawing, and Extruding " - }, - { - "name": "Air and Gas Compressor Manufacturing " - }, - { - "name": "Plastics Bottle Manufacturing" - }, - { - "name": "Major Telecommunications" - }, - { - "name": "Finance/Rental/Leasing" - }, - { - "name": "General Freight Trucking, Local " - }, - { - "name": "Passenger Car Rental " - }, - { - "name": "Newspaper Publishers " - }, - { - "name": "Mortgage and Nonmortgage Loan Brokers " - }, - { - "name": "Industrial Gas Manufacturing" - }, - { - "name": "Public Administration" - }, - { - "name": "Brick, Stone, and Related Construction Material Merchant Wholesalers " - }, - { - "name": "Petroleum Lubricating Oil and Grease Manufacturing " - }, - { - "name": "Inland Water Freight Transportation " - }, - { - "name": "Medical Laboratories " - }, - { - "name": "Lessors of Other Real Estate Property " - }, - { - "name": "Other Business Service Centers (including Copy Shops) " - }, - { - "name": "Copper Rolling, Drawing, Extruding, and Alloying" - }, - { - "name": "All Other Metal Ore Mining " - }, - { - "name": "Book Publishers " - }, - { - "name": "Primary Battery Manufacturing " - }, - { - "name": "Nonferrous Metal (except Aluminum) Smelting and Refining " - }, - { - "name": "Financial Conglomerates" - }, - { - "name": "Flooring Contractors" - }, - { - "name": "Health Care and Social Assistance" - }, - { - "name": "Government" - }, - { - "name": "Parking Lots and Garages " - }, - { - "name": "Supranational" - }, - { - "name": "Consumer Services" - }, - { - "name": "Taxi Service " - }, - { - "name": "Sales Financing " - }, - { - "name": "Information Technology Services" - }, - { - "name": "Contract Drilling" - }, - { - "name": "Hardware Merchant Wholesalers " - }, - { - "name": "Forest Products" - }, - { - "name": "Tax Preparation Services " - }, - { - "name": "Knit Fabric Mills" - }, - { - "name": "Steam and Air-Conditioning Supply " - }, - { - "name": "Used Car Dealers " - }, - { - "name": "Data Processing Services" - }, - { - "name": "Hazardous Waste Treatment and Disposal " - }, - { - "name": "Beer, Wine, and Liquor Stores " - }, - { - "name": "Auto Parts: OEM" - }, - { - "name": "Consumer Electronics and Appliances Rental" - }, - { - "name": "Paper Bag and Coated and Treated Paper Manufacturing" - }, - { - "name": "Printing and Writing Paper Merchant Wholesalers " - }, - { - "name": "All Other Miscellaneous Crop Farming " - }, - { - "name": "New Car Dealers " - }, - { - "name": "Iron and Steel Mills and Ferroalloy Manufacturing " - }, - { - "name": "Photographic and Photocopying Equipment Manufacturing " - }, - { - "name": "Artificial and Synthetic Fibers and Filaments Manufacturing" - }, - { - "name": "Other Management Consulting Services " - }, - { - "name": "Other Measuring and Controlling Device Manufacturing " - }, - { - "name": "Other Electronic Parts and Equipment Merchant Wholesalers " - }, - { - "name": "Financial Transactions Processing, Reserve, and Clearinghouse Activities " - }, - { - "name": "Hospital/Nursing Management" - }, - { - "name": "Nonupholstered Wood Household Furniture Manufacturing " - }, - { - "name": "Boat Dealers " - }, - { - "name": "Deep Sea Passenger Transportation " - }, - { - "name": "Fitness and Recreational Sports Centers " - }, - { - "name": "Plastics Material and Resin Manufacturing " - }, - { - "name": "Commodity Contracts Dealing " - }, - { - "name": "Metal Heat Treating " - }, - { - "name": "Landscaping Services" - }, - { - "name": "Glass Container Manufacturing " - }, - { - "name": "Consumer Non-Durables" - }, - { - "name": "Commercial and Institutional Building Construction " - }, - { - "name": "Electric Utilities" - }, - { - "name": "Transportation" - }, - { - "name": "Credit Bureaus" - }, - { - "name": "Insurance Brokers/Services" - }, - { - "name": "Sawmill, Woodworking, and Paper Machinery Manufacturing " - }, - { - "name": "Trucks/Construction/Farm Machinery" - }, - { - "name": "Cut Stone and Stone Product Manufacturing " - }, - { - "name": "All Other Miscellaneous Fabricated Metal Product Manufacturing " - }, - { - "name": "Household/Personal Care" - }, - { - "name": "All Other Leather Good and Allied Product Manufacturing " - }, - { - "name": "Other Building Material Dealers " - }, - { - "name": "Finfish Fishing " - }, - { - "name": "Utilities" - }, - { - "name": "Construction Materials" - }, - { - "name": "Property/Casualty Insurance" - }, - { - "name": "Packaged Frozen Food Merchant Wholesalers " - }, - { - "name": "Lessors of Nonfinancial Intangible Assets (except Copyrighted Works)" - }, - { - "name": "Apparel/Footwear" - }, - { - "name": "Explosives Manufacturing" - }, - { - "name": "Motion Picture and Video Production " - }, - { - "name": "Other Industrial Machinery Manufacturing " - }, - { - "name": "Other Animal Food Manufacturing " - }, - { - "name": "Motor Vehicle Gasoline Engine and Engine Parts Manufacturing" - }, - { - "name": "Instrument Manufacturing for Measuring and Testing Electricity and Electrical Signals " - }, - { - "name": "Portfolio Management " - }, - { - "name": "Other Gasoline Stations " - }, - { - "name": "Roofing, Siding, and Insulation Material Merchant Wholesalers " - }, - { - "name": "Other Communications Equipment Manufacturing" - }, - { - "name": "Beet Sugar Manufacturing " - }, - { - "name": "Concrete Block and Brick Manufacturing " - }, - { - "name": "Other Metals/Minerals" - }, - { - "name": "Medical/Nursing Services" - }, - { - "name": "Hog and Pig Farming " - }, - { - "name": "Iron and Steel Pipe and Tube Manufacturing from Purchased Steel" - }, - { - "name": "Elementary and Secondary Schools " - }, - { - "name": "Textile and Fabric Finishing Mills " - }, - { - "name": "Textiles" - }, - { - "name": "Coal" - }, - { - "name": "All Other Miscellaneous Store Retailers (except Tobacco Stores) " - }, - { - "name": "Industrial Valve Manufacturing " - }, - { - "name": "Boat Building " - }, - { - "name": "Data Processing, Hosting, and Related Services" - }, - { - "name": "Plumbing, Heating, and Air-Conditioning Contractors " - }, - { - "name": "New Housing For-Sale Builders " - }, - { - "name": "Caterers" - }, - { - "name": "Nonresidential Property Managers " - }, - { - "name": "Sign Manufacturing" - }, - { - "name": "Welding and Soldering Equipment Manufacturing " - }, - { - "name": "Book, Periodical, and Newspaper Merchant Wholesalers " - }, - { - "name": "Automotive Aftermarket" - }, - { - "name": "Crushed and Broken Limestone Mining and Quarrying " - }, - { - "name": "Secondary Smelting, Refining, and Alloying of Nonferrous Metal (except Copper and Aluminum) " - }, - { - "name": "Specialty Telecommunications" - }, - { - "name": "Vocational Rehabilitation Services " - }, - { - "name": "Farm Machinery and Equipment Manufacturing " - }, - { - "name": "Wholesale Trade Agents and Brokers " - }, - { - "name": "Human Resources Consulting Services " - }, - { - "name": "Women's Handbag and Purse Manufacturing " - }, - { - "name": "Administrative Management and General Management Consulting Services " - }, - { - "name": "Exterminating and Pest Control Services" - }, - { - "name": "Solar Electric Power Generation " - }, - { - "name": "Pipeline Transportation of Crude Oil" - }, - { - "name": "Kidney Dialysis Centers " - }, - { - "name": "Polystyrene Foam Product Manufacturing" - }, - { - "name": "Aircraft Engine and Engine Parts Manufacturing " - }, - { - "name": "Janitorial Services " - }, - { - "name": "Wineries " - }, - { - "name": "Advertising Material Distribution Services" - }, - { - "name": "Bolt, Nut, Screw, Rivet, and Washer Manufacturing " - }, - { - "name": "Other Metal Container Manufacturing " - }, - { - "name": "Packaging Machinery Manufacturing " - }, - { - "name": "Telephone Apparatus Manufacturing" - }, - { - "name": "Health Services" - }, - { - "name": "Gasket, Packing, and Sealing Device Manufacturing " - }, - { - "name": "Convenience Stores " - }, - { - "name": "Commercial Bakeries " - }, - { - "name": "Offices of All Other Miscellaneous Health Practitioners " - }, - { - "name": "Computer Communications" - }, - { - "name": "Furniture Merchant Wholesalers " - }, - { - "name": "Clothing Accessories Stores " - }, - { - "name": "Plastics Packaging Film and Sheet (including Laminated) Manufacturing " - }, - { - "name": "Automatic Environmental Control Manufacturing for Residential, Commercial, and Appliance Use " - }, - { - "name": "Timber Tract Operations" - }, - { - "name": "Employment Placement Agencies " - }, - { - "name": "Reconstituted Wood Product Manufacturing " - }, - { - "name": "Truck Trailer Manufacturing " - }, - { - "name": "Chocolate and Confectionery Manufacturing from Cacao Beans " - }, - { - "name": "General Warehousing and Storage " - }, - { - "name": "Gasoline Stations with Convenience Stores " - }, - { - "name": "Hotels (except Casino Hotels) and Motels " - }, - { - "name": "Fresh Fruit and Vegetable Merchant Wholesalers " - }, - { - "name": "Industrial Sand Mining " - }, - { - "name": "Chemicals: Major Diversified" - }, - { - "name": "Full-Service Restaurants " - }, - { - "name": "Hydroelectric Power Generation " - }, - { - "name": "All Other Basic Organic Chemical Manufacturing " - }, - { - "name": "Gold Ore Mining " - }, - { - "name": "Wholesale Distributors" - }, - { - "name": "Chicken Egg Production " - }, - { - "name": "Upholstered Household Furniture Manufacturing " - }, - { - "name": "General Rental Centers" - }, - { - "name": "Spice and Extract Manufacturing " - }, - { - "name": "Machine Tool Manufacturing " - }, - { - "name": "Food Product Machinery Manufacturing " - }, - { - "name": "Lessors of Nonresidential Buildings (except Miniwarehouses) " - }, - { - "name": "Health Technology" - }, - { - "name": "Paint and Coating Manufacturing" - }, - { - "name": "Coffee and Tea Manufacturing " - }, - { - "name": "Major Banks" - }, - { - "name": "Tile and Terrazzo Contractors" - }, - { - "name": "All Other Telecommunications " - }, - { - "name": "HMO Medical Centers " - }, - { - "name": "All Other Health and Personal Care Stores " - }, - { - "name": "Pharmaceuticals: Major" - }, - { - "name": "Used Merchandise Stores " - }, - { - "name": "Marine Shipping" - }, - { - "name": "Furniture Stores " - }, - { - "name": "Flat Glass Manufacturing " - }, - { - "name": "Frozen Fruit, Juice, and Vegetable Manufacturing " - }, - { - "name": "Blood and Organ Banks " - }, - { - "name": "Casinos/Gaming" - }, - { - "name": "Oilseed (except Soybean) Farming " - }, - { - "name": "In-Vitro Diagnostic Substance Manufacturing " - }, - { - "name": "Diet and Weight Reducing Centers " - }, - { - "name": "Pulp & Paper" - }, - { - "name": "Commercial Banking " - }, - { - "name": "Credit Card Issuing " - }, - { - "name": "Small Electrical Appliance Manufacturing" - }, - { - "name": "Speed Changer, Industrial High-Speed Drive, and Gear Manufacturing " - }, - { - "name": "Medical Distributors" - }, - { - "name": "Art Dealers " - }, - { - "name": "Wood Window and Door Manufacturing " - }, - { - "name": "Recreational Vehicle Dealers " - }, - { - "name": "Grain and Field Bean Merchant Wholesalers " - }, - { - "name": "Food Service Contractors" - }, - { - "name": "Dry Pasta, Dough, and Flour Mixes Manufacturing from Purchased Flour " - }, - { - "name": "Electronics/Appliance Stores" - }, - { - "name": "Investment Banking and Securities Dealing " - }, - { - "name": "Other Commercial and Industrial Machinery and Equipment Rental and Leasing " - }, - { - "name": "Casino Hotels" - }, - { - "name": "Metal Service Centers and Other Metal Merchant Wholesalers " - }, - { - "name": "Professional Organizations " - }, - { - "name": "Shoe Stores " - }, - { - "name": "Other Lighting Equipment Manufacturing " - }, - { - "name": "Metal Tank (Heavy Gauge) Manufacturing" - }, - { - "name": "Nuclear Electric Power Generation " - }, - { - "name": "Line-Haul Railroads " - }, - { - "name": "Other Millwork (including Flooring) " - }, - { - "name": "Integrated Oil" - }, - { - "name": "Rolled Steel Shape Manufacturing " - }, - { - "name": "International Trade Financing " - }, - { - "name": "Oil and Gas Field Machinery and Equipment Manufacturing " - }, - { - "name": "Office Supplies (except Paper) Manufacturing" - }, - { - "name": "Movies/Entertainment" - }, - { - "name": "All Other Nondepository Credit Intermediation " - }, - { - "name": "Women's Clothing Stores " - }, - { - "name": "Cement Manufacturing" - }, - { - "name": "Steel Foundries (except Investment) " - }, - { - "name": "Other Activities Related to Credit Intermediation " - }, - { - "name": "Cosmetics, Beauty Supplies, and Perfume Stores " - }, - { - "name": "Motor Home Manufacturing " - }, - { - "name": "Fiber, Yarn, and Thread Mills " - }, - { - "name": "Manufacturing" - }, - { - "name": "Pharmaceutical Preparation Manufacturing " - }, - { - "name": "Sporting and Athletic Goods Manufacturing" - }, - { - "name": "Business to Business Electronic Markets " - }, - { - "name": "Couriers and Express Delivery Services" - }, - { - "name": "Electronic Equipment/Instruments" - }, - { - "name": "Biological Product (except Diagnostic) Manufacturing " - }, - { - "name": "Other Gambling Industries " - }, - { - "name": "Carpet and Rug Mills" - }, - { - "name": "Dry, Condensed, and Evaporated Dairy Product Manufacturing " - }, - { - "name": "Marine Cargo Handling" - }, - { - "name": "Securities and Commodity Exchanges" - }, - { - "name": "All Other Plastics Product Manufacturing " - }, - { - "name": "Wireless Telecommunications" - }, - { - "name": "Petrochemical Manufacturing" - }, - { - "name": "Turbine and Turbine Generator Set Units Manufacturing " - }, - { - "name": "Power, Distribution, and Specialty Transformer Manufacturing " - }, - { - "name": "Synthetic Rubber Manufacturing " - }, - { - "name": "Nursing Care Facilities (Skilled Nursing Facilities) " - }, - { - "name": "General Freight Trucking, Long-Distance, Truckload " - }, - { - "name": "Internet Retail" - }, - { - "name": "All Other Grain Farming " - }, - { - "name": "Metal Crown, Closure, and Other Metal Stamping (except Automotive) " - }, - { - "name": "All Other Miscellaneous Schools and Instruction " - }, - { - "name": "Saw Blade and Handtool Manufacturing " - }, - { - "name": "Other Cut and Sew Apparel Manufacturing " - }, - { - "name": "Soybean Farming" - }, - { - "name": "Home Health Care Services" - }, - { - "name": "Child Day Care Services " - }, - { - "name": "Plate Work Manufacturing " - }, - { - "name": "Deep Sea Freight Transportation " - }, - { - "name": "Apprenticeship Training " - }, - { - "name": "Pipeline Transportation of Refined Petroleum Products" - }, - { - "name": "All Other Amusement and Recreation Industries " - }, - { - "name": "Building Products" - }, - { - "name": "Motor Vehicle Electrical and Electronic Equipment Manufacturing" - }, - { - "name": "All Other Miscellaneous Wood Product Manufacturing " - }, - { - "name": "Recreational Products" - }, - { - "name": "Food: Meat/Fish/Dairy" - }, - { - "name": "Fluid Milk Manufacturing " - }, - { - "name": "Men's Clothing Stores " - }, - { - "name": "Mattress Manufacturing" - }, - { - "name": "Mechanical Power Transmission Equipment Manufacturing " - }, - { - "name": "Uranium-Radium-Vanadium Ore Mining " - }, - { - "name": "Construction" - }, - { - "name": "Footwear Merchant Wholesalers " - }, - { - "name": "Research and Development in the Social Sciences and Humanities " - }, - { - "name": "Other Support Activities for Road Transportation " - }, - { - "name": "Office Furniture (except Wood) Manufacturing " - }, - { - "name": "Postharvest Crop Activities (except Cotton Ginning) " - }, - { - "name": "Facilities Support Services" - }, - { - "name": "Cable/Satellite TV" - }, - { - "name": "Sewage Treatment Facilities " - }, - { - "name": "Asphalt Shingle and Coating Materials Manufacturing " - }, - { - "name": "Other Consumer Specialties" - }, - { - "name": "Industrial Process Furnace and Oven Manufacturing " - }, - { - "name": "Jewelry Stores " - }, - { - "name": "Discount Stores" - }, - { - "name": "Lessors of Residential Buildings and Dwellings " - }, - { - "name": "Drilling Oil and Gas Wells" - }, - { - "name": "Clay and Ceramic and Refractory Minerals Mining " - }, - { - "name": "Alternative Power Generation" - }, - { - "name": "Materials Recovery Facilities " - }, - { - "name": "Life/Health Insurance" - }, - { - "name": "All Other Nonmetallic Mineral Mining " - }, - { - "name": "Finance and Insurance" - }, - { - "name": "Automotive Glass Replacement Shops " - }, - { - "name": "Wind Electric Power Generation " - }, - { - "name": "Direct Mail Advertising" - }, - { - "name": "Natural Gas Extraction " - }, - { - "name": "Real Estate Investment Trusts" - }, - { - "name": "Direct Title Insurance Carriers " - }, - { - "name": "Glass Product Manufacturing Made of Purchased Glass " - }, - { - "name": "Instruments and Related Products Manufacturing for Measuring, Displaying, and Controlling Industrial Process Variables " - }, - { - "name": "Communications" - }, - { - "name": "Rendering and Meat Byproduct Processing " - }, - { - "name": "Aluminum" - }, - { - "name": "Metal Window and Door Manufacturing " - }, - { - "name": "Support Activities for Rail Transportation" - }, - { - "name": "Fertilizer (Mixing Only) Manufacturing " - }, - { - "name": "Support Activities for Animal Production" - }, - { - "name": "Confectionery Manufacturing from Purchased Chocolate " - }, - { - "name": "Unlaminated Plastics Profile Shape Manufacturing " - }, - { - "name": "Railroads" - }, - { - "name": "Motor Vehicles" - }, - { - "name": "Other Electronic Component Manufacturing " - }, - { - "name": "Agricultural Commodities/Milling" - }, - { - "name": "Electronic Computer Manufacturing " - }, - { - "name": "Miscellaneous Financial Investment Activities " - }, - { - "name": "Apparel/Footwear Retail" - }, - { - "name": "Office Supplies and Stationery Stores " - }, - { - "name": "Other Paperboard Container Manufacturing " - }, - { - "name": "Unlaminated Plastics Film and Sheet (except Packaging) Manufacturing " - }, - { - "name": "Software and Other Prerecorded Compact Disc, Tape, and Record Reproducing " - }, - { - "name": "Other Consumer Services" - }, - { - "name": "Department Stores" - }, - { - "name": "Computer Storage Device Manufacturing " - }, - { - "name": "Seafood Product Preparation and Packaging" - }, - { - "name": "Services to the Health Industry" - }, - { - "name": "Other Computer Related Services" - }, - { - "name": "Doll, Toy, and Game Manufacturing" - }, - { - "name": "Computer Facilities Management Services " - }, - { - "name": "Beauty Salons " - }, - { - "name": "Regional Banks" - }, - { - "name": "Mining, Quarrying, and Oil and Gas Extraction" - }, - { - "name": "Musical Instrument Manufacturing " - }, - { - "name": "Educational Support Services" - }, - { - "name": "Direct Property and Casualty Insurance Carriers " - }, - { - "name": "Copper, Nickel, Lead, and Zinc Mining " - }, - { - "name": "Electrical Contractors and Other Wiring Installation Contractors" - }, - { - "name": "Fire Protection " - }, - { - "name": "Scenic and Sightseeing Transportation, Water" - }, - { - "name": "Other Support Activities for Air Transportation" - }, - { - "name": "All Other Support Services" - }, - { - "name": "Finance" - }, - { - "name": "Polish and Other Sanitation Good Manufacturing " - }, - { - "name": "Wireless Telecommunications Carriers (except Satellite)" - }, - { - "name": "Construction and Mining (except Oil Well) Machinery and Equipment Merchant Wholesalers " - }, - { - "name": "Drugstore Chains" - }, - { - "name": "Other Services Related to Advertising " - }, - { - "name": "Other Activities Related to Real Estate " - }, - { - "name": "Irradiation Apparatus Manufacturing " - }, - { - "name": "Other Miscellaneous Durable Goods Merchant Wholesalers " - }, - { - "name": "Home Furnishings" - }, - { - "name": "Metal Coating, Engraving (except Jewelry and Silverware), and Allied Services to Manufacturers " - }, - { - "name": "Silver Ore Mining " - }, - { - "name": "Producer Manufacturing" - }, - { - "name": "Coastal and Great Lakes Freight Transportation " - }, - { - "name": "General Automotive Repair " - }, - { - "name": "All Other Miscellaneous Chemical Product and Preparation Manufacturing " - }, - { - "name": "Agriculture, Forestry, Fishing and Hunting" - }, - { - "name": "Institutional Furniture Manufacturing " - }, - { - "name": "Investment Advice " - }, - { - "name": "Architectural Services" - }, - { - "name": "Household Appliance Stores " - }, - { - "name": "Carbon and Graphite Product Manufacturing " - }, - { - "name": "Insurance Agencies and Brokerages " - }, - { - "name": "Commercial Printing (except Screen and Books) " - }, - { - "name": "Theater Companies and Dinner Theaters " - }, - { - "name": "General Line Grocery Merchant Wholesalers " - }, - { - "name": "Commercial Printing/Forms" - }, - { - "name": "Heavy Duty Truck Manufacturing" - }, - { - "name": "Department Stores " - }, - { - "name": "Bare Printed Circuit Board Manufacturing " - }, - { - "name": "Custom Computer Programming Services " - }, - { - "name": "Telecommunications Resellers " - }, - { - "name": "Tobacco Manufacturing " - }, - { - "name": "Motion Picture Theaters (except Drive-Ins) " - }, - { - "name": "Electronic Technology" - }, - { - "name": "Computer Systems Design Services " - }, - { - "name": "Electronics Distributors" - }, - { - "name": "Testing Laboratories" - }, - { - "name": "Casinos (except Casino Hotels)" - }, - { - "name": "Semiconductor and Related Device Manufacturing " - }, - { - "name": "Food: Specialty/Candy" - }, - { - "name": "Adhesive Manufacturing" - }, - { - "name": "Pulp Mills " - }, - { - "name": "Surgical Appliance and Supplies Manufacturing " - }, - { - "name": "Trusts, Estates, and Agency Accounts " - }, - { - "name": "Storage Battery Manufacturing " - }, - { - "name": "Municipality" - }, - { - "name": "Motion Picture and Video Distribution" - }, - { - "name": "Farm and Garden Machinery and Equipment Merchant Wholesalers " - }, - { - "name": "Petroleum Refineries" - }, - { - "name": "Concrete Pipe Manufacturing " - }, - { - "name": "Small Arms Ammunition Manufacturing " - }, - { - "name": "Drugs and Druggists' Sundries Merchant Wholesalers " - }, - { - "name": "Electric Power Distribution " - }, - { - "name": "Computer Terminal and Other Computer Peripheral Equipment Manufacturing " - }, - { - "name": "Flavoring Syrup and Concentrate Manufacturing" - }, - { - "name": "Racetracks " - }, - { - "name": "All Other Specialty Trade Contractors" - }, - { - "name": "Blank Magnetic and Optical Recording Media Manufacturing " - }, - { - "name": "Water Supply and Irrigation Systems " - }, - { - "name": "Electromedical and Electrotherapeutic Apparatus Manufacturing " - }, - { - "name": "Office Equipment/Supplies" - }, - { - "name": "Educational Services" - } -] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Resources/phrases.json Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,25 @@ +[ + { + "funny": [ + "Tomorrow is often the busiest day of the week", + "They shorted my stock, I shortened their lives", + "The stock market is still les volatile than most of my romantic relationships", + "Dear diary, today the stock market did not crash", + "If you want to trade in derivates, god bless you", + "When the market crash, just take the absolute value", + "I was losing money before the stock market crashed", + "The Lazybear of Wall Street", + "Can't lose your savings if you have no savings", + "Stonks", + "So you dont buy more when a stock goes down?", + "Hey the stock market is up AAAA It's down", + "Top 3 richest people: Musk, Bezos, not you", + "Oh no... my stock did what?", + "Are you a Redditor?", + "No I don't know what happened", + "Hey, Do you want some quantitative easing?", + "Money printer go Brrr", + "You have two cows. The State takes both of them and gives you the milk" + ] + } +]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Resources/popularCompanies.json Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,44 @@ +[ + { + "symbol": "aapl" + }, + { + "symbol": "msft" + }, + { + "symbol": "amzn" + }, + { + "symbol": "fb" + }, + { + "symbol": "tsla" + }, + { + "symbol": "jpm" + }, + { + "symbol": "v" + }, + { + "symbol": "jnj" + }, + { + "symbol": "wmt" + }, + { + "symbol": "ma" + }, + { + "symbol": "bac" + }, + { + "symbol": "pg" + }, + { + "symbol": "pypl" + }, + { + "symbol": "nke" + } +]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Global Helpers/PriceView.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,33 @@ +// +// PriceView.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct PriceView: View { + var latestPrice: Double + var changePercent: Double + + var body: some View { + VStack { + Text("$\(latestPrice, specifier: "%.2f")") + .foregroundColor(changePercent < 0 ? .red: .green) + .fontWeight(.semibold) + .padding(.top) + + Text("\(changePercent*100, specifier: "%.2f")%") + .foregroundColor(changePercent < 0 ? .red: .green) + .fontWeight(.semibold) + } + } +} + + +struct PriceView_Previews: PreviewProvider { + static var previews: some View { + PriceView(latestPrice: 120.30, changePercent: 0.03) + } +}
--- a/LazyBear/Views/Home/Helpers/TopStockItem.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Home/Helpers/TopStockItem.swift Sat Apr 03 13:02:40 2021 +0200 @@ -8,8 +8,11 @@ import SwiftUI struct TopStockItem: View { - var company: CompanyRowModel - var intradayPricesArray: IntradayPricesArray + var company: CompanyQuoteModel + @State private var intradayPrices = [IntradayPricesModel]() + + private let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url" + private let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key" var body: some View { RoundedRectangle(cornerRadius: 20) @@ -29,35 +32,42 @@ .opacity(0.6) .lineLimit(1) - Text("$\(company.latestPrice, specifier: "%.2f")") - .foregroundColor(company.changePercent < 0 ? .red: .green) - .fontWeight(.semibold) - .padding(.top) - - Text("\(company.changePercent*100, specifier: "%.2f")%") - .foregroundColor(company.changePercent < 0 ? .red: .green) - .fontWeight(.semibold) + PriceView(latestPrice: company.latestPrice, changePercent: company.changePercent) } .padding(.horizontal) Spacer() - let prices = intradayPricesArray.intradayPrices.compactMap { $0.open } - // Compact Map will return an array without the nil values - LineView(data: prices) - .foregroundColor(company.changePercent < 0 ? .red: .green) - .padding(.vertical) - .clipped() + let prices = intradayPrices.compactMap { $0.open } + if prices.isEmpty { + Text("No data available") + .font(.caption) + .opacity(0.6) + } else { + LineView(data: prices) + .foregroundColor(company.changePercent < 0 ? .red: .green) + .padding(.vertical) + .clipped() + } } + ,alignment: .leading ) + .onAppear { requestIntradayPrices(company.symbol) } + } + + private func requestIntradayPrices(_ symbol: String) { + let url = "\(baseUrl)/stock/\(symbol)/intraday-prices?token=\(apiKey)" + genericRequest(url: url, model: [IntradayPricesModel].self) { + self.intradayPrices = $0 + } } } struct TopStockItem_Previews: PreviewProvider { static var previews: some View { - TopStockItem(company: CompanyRowModel(symbol: "aapl", companyName: "apple inc", latestPrice: 120.30, changePercent: 0.03), intradayPricesArray: IntradayPricesArray(intradayPrices: [IntradayPricesModel(open: 120.00)])) + TopStockItem(company: CompanyQuoteModel(companyName: "Akumin Inc", symbol: "AKU", latestPrice: 120.30, changePercent: 0.03)) } }
--- a/LazyBear/Views/Home/Helpers/TopStockRow.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Home/Helpers/TopStockRow.swift Sat Apr 03 13:02:40 2021 +0200 @@ -8,9 +8,8 @@ import SwiftUI struct TopStockRow: View { - var key: String - var list: [CompanyRowModel] - var intradayPricesDict: [String: IntradayPricesArray] + var listType: String + var list: [CompanyQuoteModel] var body: some View { VStack(alignment: .leading) { @@ -22,11 +21,7 @@ ScrollView(.horizontal, showsIndicators: false) { HStack(spacing: 20) { ForEach(list, id: \.self) { company in - let symbol = company.symbol.uppercased() - if let prices = intradayPricesDict[symbol] { - TopStockItem(company: company, intradayPricesArray: prices) - } - + TopStockItem(company: company) } } .padding() @@ -37,11 +32,11 @@ } private func adaptTitle() -> String { - if key == "mostactive" { + if listType == "mostactive" { return "Most active" } else { - return key.capitalized + return listType.capitalized } } } @@ -49,8 +44,6 @@ struct TopStockRow_Previews: PreviewProvider { static var previews: some View { - let list = [CompanyRowModel(symbol: "aapl", companyName: "apple inc", latestPrice: 120.30, changePercent: 0.03)] - let intradayPricesArray = IntradayPricesArray(intradayPrices: [IntradayPricesModel(open: 120.00)]) - TopStockRow(key: "Gainers", list: list, intradayPricesDict: ["AAPL": intradayPricesArray]) + TopStockRow(listType: "gainers", list: [CompanyQuoteModel(companyName: "apple inc", symbol: "aapl", latestPrice: 120.30, changePercent: 0.03)]) } }
--- a/LazyBear/Views/Home/HomeView.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Home/HomeView.swift Sat Apr 03 13:02:40 2021 +0200 @@ -28,13 +28,15 @@ .listRowInsets(EdgeInsets()) // Get keys of the dictionary list - ForEach(homeData.list.keys.sorted(), id: \.self) { key in - TopStockRow(key: key, list: homeData.list[key] ?? [CompanyRowModel](), intradayPricesDict: homeData.intradayPrices) + ForEach(homeData.topLists.keys.sorted(), id: \.self) { listType in + if let list = homeData.topLists[listType] { + TopStockRow(listType: listType, list: list) + } } .listRowInsets(EdgeInsets()) } - .onReceive(timer) {_ in homeData.request() } - .onDisappear { timer.upstream.connect().cancel() } + .onReceive(timer) { _ in homeData.request() } + .onDisappear { self.timer.upstream.connect().cancel() } // Stop timer .navigationTitle("\(dueDate, formatter: Self.taskDateFormat)") .navigationBarTitleDisplayMode(.inline) .navigationViewStyle(StackNavigationViewStyle()) @@ -47,11 +49,15 @@ } } .sheet(isPresented: $showTradingDates) { - TradingDates(stringDates: homeData.holidayDates) + TradingDates() } } else { ProgressView() - .onAppear { homeData.request() } + .onAppear { + homeData.request() + self.timer = Timer.publish(every: 10, on: .main, in: .common).autoconnect() // Restart timer + } + } } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Home/Networking/CompanyQuoteModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,15 @@ +// +// CompanyQuoteModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 30/3/21. +// + +import SwiftUI + +struct CompanyQuoteModel: Codable, Hashable { + var companyName: String + var symbol: String + var latestPrice: Double + var changePercent: Double +}
--- a/LazyBear/Views/Home/Networking/HomeData.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Home/Networking/HomeData.swift Sat Apr 03 13:02:40 2021 +0200 @@ -10,87 +10,42 @@ class HomeData: ObservableObject { @Published var showView = false @Published var sectorPerformance = [SectorPerformanceModel]() - @Published var list = ["mostactive": [CompanyRowModel](), "gainers": [CompanyRowModel](), "losers": [CompanyRowModel]()] - @Published var intradayPrices = [String(): IntradayPricesArray(intradayPrices: [IntradayPricesModel(open: Double())])] - @Published var holidayDates = [TradingDatesModel]() + @Published var topLists = [ + "gainers": [CompanyQuoteModel](), + "losers": [CompanyQuoteModel](), + "mostactive": [CompanyQuoteModel]() + ] private let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url" private let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key" - // Call this function to make the request + func request() { - let dispatchGroup = DispatchGroup() // Start dispatch group + let dispatchGroup = DispatchGroup() var url = String() -// 1. SECTOR PERFORMANCE REQUEST + // 1. REQUEST SECTOR PERFORMANCE url = "\(baseUrl)/stock/market/sector-performance?token=\(apiKey)" - print("Entering group: request Sector Performance") - dispatchGroup.enter() // Enter group + dispatchGroup.enter() - // API Request genericRequest(url: url, model: [SectorPerformanceModel].self) { self.sectorPerformance = $0 - print("Leaving group: request Sector Performance") - dispatchGroup.leave() // Leave group + dispatchGroup.leave() } -// 2. LISTS REQUEST - var symbols = [String]() // Know what symbols are in each list - for key in self.list.keys { - url = "\(baseUrl)/stock/market/collection/list?collectionName=\(key)&token=\(apiKey)" - print("Entering group: request list \(key)") - dispatchGroup.enter() // Enter group + // 2. STOCK LISTS + for listType in topLists.keys { + url = "\(baseUrl)/stock/market/list/\(listType)?token=\(apiKey)" + dispatchGroup.enter() - // API Request - genericRequest(url: url, model: [CompanyRowModel].self) { - self.list[key] = $0 - print("Leaving group: request list \(key)") + genericRequest(url: url, model: [CompanyQuoteModel].self) { + self.topLists[listType] = $0 dispatchGroup.leave() - - // Append symbols requested to a list - if let companies = self.list[key] { // Unwrap value - for company in companies { // Iterate inside the list through the companies - symbols.append(company.symbol) - } - } - - // Now that I have all the symbols I can request the intraday prices and save it to the @Published var - // First I have to concatenate the string to make the batch request - url = "\(self.baseUrl)/stock/market/batch?symbols=" - for symbol in symbols { // Concatenate symbol to the first part of the url - if symbols.firstIndex(of: symbol) == 0 { - url += symbol - } else { - url += ",\(symbol)" - } - } } } -// 3. REQUEST TRADING/HOLIDAY DAYS - url = "\(baseUrl)/ref-data/us/dates/holiday/next/30?token=\(apiKey)" - print("Entering group: request Trading/holiday Days") - dispatchGroup.enter() // Enter group - genericRequest(url: url, model: [TradingDatesModel].self) { - self.holidayDates = $0 - - print("Leaving group: request Trading/holiday Days") - dispatchGroup.leave() - - } - - // This will run after the ForLoop and if it was successful dispatchGroup.notify(queue: .main) { - -// 4. INTRADAY PRICES REQUEST - // Once the previous request are made, I can append the final part of the url and make the request - url = "\(url)&types=intraday-prices&token=\(self.apiKey)" - genericRequest(url: url, model: [String: IntradayPricesArray].self) { - self.intradayPrices = $0 - - print("Request done successfully -> showing view") - self.showView = true - } + self.showView = true } } }
--- a/LazyBear/Views/Home/Networking/HomeModels.swift Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -// -// SectorPerformanceModel.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 30/3/21. -// - -import SwiftUI - -struct SectorPerformanceModel: Codable, Hashable { - var name: String - var performance: Double - var lastUpdated: Int -} - - -struct CompanyRowModel: Codable, Hashable { - var symbol: String - var companyName: String - var latestPrice: Double - var changePercent: Double -} - - -// Model prepared with batch -struct IntradayPricesArray: Codable { - var intradayPrices: [IntradayPricesModel] - - // Change key name - private enum CodingKeys : String, CodingKey { - case intradayPrices = "intraday-prices" - } -} - -struct IntradayPricesModel: Codable { - var open: Double? -} - - -struct TradingDatesModel: Codable { - var date: String - -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Home/Networking/IntradayPricesModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,12 @@ +// +// IntradayPricesModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct IntradayPricesModel: Codable { + var open: Double? +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Home/Networking/SectorPerformanceModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,14 @@ +// +// SectorPerformanceModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct SectorPerformanceModel: Codable, Hashable { + var name: String + var performance: Double + var lastUpdated: Int +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Home/Networking/TradingDatesModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,13 @@ +// +// TradingDatesModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct TradingDatesModel: Codable { + var date: String + +}
--- a/LazyBear/Views/Home/TradingDates.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Home/TradingDates.swift Sat Apr 03 13:02:40 2021 +0200 @@ -7,8 +7,16 @@ import SwiftUI +enum DateType { + case holidays, trading +} + struct TradingDates: View { - var stringDates: [TradingDatesModel] + @State private var dates = [TradingDatesModel]() + @State private var showingView = false + + private let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url" + private let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key" var body: some View { NavigationView { @@ -20,14 +28,32 @@ } .padding() } + .onAppear { requestDates(.holidays) } .navigationTitle("Holiday dates") + .navigationBarTitleDisplayMode(.inline) } } + private func requestDates(_ dateType: DateType) { + switch dateType { + case .trading: + let tradingUrl = "\(baseUrl)/ref-data/us/dates/trade/next/10?token=\(apiKey)" + genericRequest(url: tradingUrl, model: [TradingDatesModel].self) { + self.dates = $0 + self.showingView = true + } + case.holidays: + let holidaysUrl = "\(baseUrl)/ref-data/us/dates/holiday/next/10?token=\(apiKey)" + genericRequest(url: holidaysUrl, model: [TradingDatesModel].self) { + self.dates = $0 + self.showingView = true + } + } + } private func getArrayOfDates() -> [Date] { // Get array of the string dates - let stringDates = self.stringDates.map { $0.date } + let stringDates = self.dates.map { $0.date } // Convert string to date let dateFormatter = DateFormatter() @@ -46,6 +72,6 @@ struct TradingDate_Previews: PreviewProvider { static var previews: some View { // Format is YYY-MM-DD - TradingDates(stringDates: [TradingDatesModel(date: "2020-04-01")]) + TradingDates() } }
--- a/LazyBear/Views/Search/Helpers/ContainerHelper.swift Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -// -// ContainerHelper.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/4/21. -// - -import SwiftUI - -struct ContainerHelper: View { - var tag: String - - var body: some View { - RoundedRectangle(cornerRadius: 25.0) - .foregroundColor(.white) - .shadow(color: Color.black.opacity(0.1), radius: 10) - .padding() - .overlay( - Text(tag) - ) - } -} - -struct ContainerHelper_Previews: PreviewProvider { - static var previews: some View { - ContainerHelper(tag: "Airlines") - } -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Search/Helpers/PopularCompanyHelper.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,41 @@ +// +// PopularCompanyHelper.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 1/4/21. +// + +import SwiftUI + +struct PopularCompanyHelper: View { + var company: CompanyQuoteModel + + var body: some View { + RoundedRectangle(cornerRadius: 20) + .foregroundColor(Color(.secondarySystemBackground)) + .frame(height: 100) + .overlay( + HStack { + Rectangle() + .frame(width: 15) + .foregroundColor(Color("default")) + + VStack { + Text(company.companyName) + Text(company.symbol) + } + + Spacer() + + PriceView(latestPrice: company.latestPrice, changePercent: company.changePercent) + } + .clipShape(RoundedRectangle(cornerRadius: 20)) + ) + } +} + +struct PopularCompanyHelper_Previews: PreviewProvider { + static var previews: some View { + PopularCompanyHelper(company: CompanyQuoteModel(companyName: "apple inc", symbol: "aapl", latestPrice: 120.30, changePercent: 0.03)) + } +}
--- a/LazyBear/Views/Search/Helpers/ScrollViewHelper.swift Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -// -// ScrollViewHelper.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/4/21. -// - -import SwiftUI - -struct ScrollViewHelper: View { - var body: some View { - ScrollView { - LazyVStack(spacing: 10) { - let tags = companyTags.shuffled().prefix(10) - ForEach(tags, id: \.self) { tag in - ContainerHelper(tag: tag.name) - .frame(height: 350) - } - } - } - } -} - -struct ScrollViewHelper_Previews: PreviewProvider { - static var previews: some View { - ScrollViewHelper() - } -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Search/Networking/BatchCompanyQuoteModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,12 @@ +// +// BatchCompanyQuoteModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct BatchCompanyQuoteModel: Codable { + var quote: CompanyQuoteModel +}
--- a/LazyBear/Views/Search/Networking/CompanyTagsModel.swift Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -// -// CompanyTagsModel.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/4/21. -// - -import SwiftUI - -struct CompanyTagsModel: Codable, Hashable { - var name: String -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Search/Networking/PopularCompanyModel.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,12 @@ +// +// PopularCompanyModel.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +struct PopularCompanyModel: Codable, Hashable { + var symbol: String +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/Views/Search/Networking/SearchData.swift Sat Apr 03 13:02:40 2021 +0200 @@ -0,0 +1,41 @@ +// +// SearchData.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 3/4/21. +// + +import SwiftUI + +class SearchData: ObservableObject { + @Published var companies = [CompanyQuoteModel]() + + private let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url" + private let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key" + private let symbols = popularCompanies.map { $0.symbol } + + func request() { + var url = "\(baseUrl)/stock/market/batch?symbols=" + + // Contruct url appending symbols + for symbol in self.symbols { + let index = self.symbols.firstIndex(of: symbol) + if index == 0 { + url += symbol + } else { + url += ",\(symbol)" + } + } + + // Append final part of the url + url += "&types=quote&token=\(apiKey)" + + genericRequest(url: url, model: [String:BatchCompanyQuoteModel].self) { dict in + for key in dict.keys { + if let company = dict[key] { + self.companies.append(company.quote) + } + } + } + } +}
--- a/LazyBear/Views/Search/Networking/UnplashPhotoModel.swift Thu Apr 01 20:55:09 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -// -// UnplashPhotoModel.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/4/21. -// - -import SwiftUI - -struct UnplashPhotoResponse: Codable { - var results: [UnplashPhotoModel] -} -struct UnplashPhotoModel: Codable { - var urls: UnplashPhotoUrls - var user: String -} - -struct UnplashPhotoUrls: Codable { - var small: String -} - -struct UnplashPhotoUser: Codable { - var username: String - var name: String - var firstName: String - var lastName: String - - // Change key name - private enum CodingKeys : String, CodingKey { - case username, name - case firstName = "first_name" - case lastName = "last_name" - } -} -// URL-> https://api.unsplash.com/search/photos?page=1&per_page=1&order_by=popular&query=office&client_id=FGNeBoqvo838iKn05re3kxbTAlpnc1fBdsyts3n6uyo
--- a/LazyBear/Views/Search/SearchView.swift Thu Apr 01 20:55:09 2021 +0200 +++ b/LazyBear/Views/Search/SearchView.swift Sat Apr 03 13:02:40 2021 +0200 @@ -9,13 +9,21 @@ import SwiftlySearch struct SearchView: View { + @ObservedObject var searchData = SearchData() @State private var searchedText = String() var body: some View { NavigationView { VStack { - ScrollViewHelper() + ScrollView { + VStack(spacing: 20) { + ForEach(searchData.companies, id: \.self) { company in + PopularCompanyHelper(company: company) + } + } + } } + .onAppear { searchData.request() } .navigationTitle("Search") .navigationBarTitleDisplayMode(.inline) .navigationBarSearch($searchedText)