- .NET 8
- Optional but recommended: Visual Studio 2022 Community or Visual Studio Code
- Either Azure Powershell or Azure CLI
- Used for authenticating to Azure to connect to Azure resources locally if not logging into Visual Studio or Visual Studio Code.
- Node.js
- Tested with Node.js 18.19
[NOTE]: Unless you have permissions (you probably don't) to the Azure resources referenced in the codebase many things will not work. If you want to run things locally you'll most likely need to create your own Azure resources.
- No Azure Maps tiles and search.
- No Cosmos DB. You can use the emulator and import the sample data into it using the Cosmos DB data migration tool.
Currently only the Bluesky portion of the front-end requires Typescript building. Run all npx
commands from SeattleCarsInBikeLanes
directory.
When making changes
npx webpack --watch
Before deploy
npx webpack
May or may not be up to date. Do a find all on "GetSecret" to confirm.
- admin-password: Password to access the admin page (
/AdminPage
). You can configure this to whatever you want. - admin-username: Username to access the admin page (
/AdminPage
). You can configure this to whatever you want. - computervision: Api key for Computer Vision service. Used for extracting tags from uploaded images. Create your own Computer Vision service and enter your key.
- imgur-access-token: Access token for Imgur API. Used for uploading images to Imgur. Create your own Imgur application using the docs here.
- imgur-client-id: Client ID for Imgur API. Used for uploading images to Imgur.
- imgur-client-secret: Client secret for Imgur API. Used for uploading images to Imgur.
- imgur-refresh-token: Refresh token for Imgur API. Used for uploading images to Imgur.
- slack-user-id: User ID of Slack member who finalized uploaded messages are sent to.
- slackbot-token: Legacy Slack bot token used for sending Slackbot messages.
- social-ridetransit-access-token: Access token for Mastodon server client. Used for posting to https://social.ridetrans.it
- Ensure VSStandardCollectorService150 (Visual Studio Standard Collector Service 150) service is running
- In Program.cs update the AuthorityHost URL to use the tenant ID instead of common
- Finally exclude all credential types except for InteractiveBrowserCredentials. That must be specifically included.
In console
const openRequest = indexedDB.open('@atproto-oauth-client');
const sessionRequest = openRequest.result.transaction('session').objectStore('session').get('did:plc:penphldurhndgdxxn3ezvmoi');
let privateKey = sessionRequest.result.value.dpopKey.keyPair.privateKey;
dotnet build -c Release
dotnet pack -c Release
dotnet nuget push <path to .nupkg> -k <NuGet API key>