Skip to content

Commit

Permalink
data
Browse files Browse the repository at this point in the history
  • Loading branch information
nialexsan committed Mar 14, 2023
1 parent 9221362 commit 4a10faa
Show file tree
Hide file tree
Showing 14 changed files with 2,154 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ yarn-error.log*

/.vscode
/temp
/src/data
/src/data/doc-collections
/docs/*
!/docs/learn
!/docs/quickstarts
Expand Down
177 changes: 177 additions & 0 deletions src/data/articles/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
import { FeaturedArticleCardProps } from "~/ui/design-system/src/lib/Components/FeaturedArticleCard"
import { TutorialCardProps } from "~/ui/design-system/src/lib/Components/TutorialCard"

export const redSquirrelGetStartedArticle: TutorialCardProps = {
heading: "Getting started on Flow with a RedSquirrel NFT",
tags: ["tutorial", "nft", "beginner"],
description: `
Deploy a Cadence smart contract to a local emulator and interact with it as soon as possible!
Learn how to build an NFT project using the Flow Emulator, Golang and Cadence.`,
link: "https://medium.com/redsquirrel-tech/getting-started-with-the-flow-blockchain-31bfab956a96",
imageUri: "https://miro.medium.com/max/1400/1*6kiCdTyUpS_gRHD4Z1gs0w.png",
lastUpdated: "7/4/2022",
}

export const organizingCadenceTutorial: TutorialCardProps = {
heading: "How to Organize Cadence Projects",
tags: ["protocol", "network"],
description: `How you organize the files for your project in your Github repo by Joshua Hannan - a senior smart contract engineer at Flow.`,
link: "https://joshuahannan.medium.com/how-i-organize-my-cadence-projects-75b811b700d9",
imageUri: "https://miro.medium.com/max/1400/1*o_J8FQHAIczyhTehcT1ziw.png",
lastUpdated: "8/04/2021",
}

export const introToFlow: TutorialCardProps & FeaturedArticleCardProps = {
heading: "Introduction to Flow blockchain",
tags: ["protocol", "network"],
description: `An introduction to the Flow blockchain architecture, protocol network, and high-level data flow`,
link: "https://jan-bernatik.medium.com/introduction-to-flow-blockchain-7532977c8af8",
ctaText: "View Article",
imageUri: "https://miro.medium.com/max/1400/1*EZSbQbO8fKxkNgfYx7daYw.png",
lastUpdated: "14/03/2022",
}

export const getTheFlowDown: TutorialCardProps & FeaturedArticleCardProps = {
heading: "Get the Flow Down - Learning Resources",
tags: ["resource-list", "community"],
description: `Get the Flow Down is a curated collection of the best Flow blockchain tools, tutorials, articles and more!`,
link: "https://github.com/ph0ph0/Get-The-Flow-Down",
ctaText: "View List",
imageUri:
"https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f641ebbdcb3f42296876548_OnFlow_Landing%20Page_OG.png",
}

export const guideToFlowForEthereumUsers: TutorialCardProps = {
heading: "Guide to Flow for Ethereum Users",
tags: ["resource-list", "community"],
description: `A quick introduction to Flow, its use cases, and how it compares to Ethereum.`,
link: "https://www.flowverse.co/articles/guide-to-flow-blockchain-for-ethereum-users",
imageUri:
"https://blog.logrocket.com/wp-content/uploads/2022/01/flow-ethereum-blockchain-nfts.png",
lastUpdated: "24/02/2022",
}

export const FCLQuickstartNextJs: TutorialCardProps = {
heading: "FCL Quickstart for Next.js",
tags: ["quickstart", "beginner"],
description: `Everything you need to build a web3 project with React, Next.js and the Flow Client Library (FCL).`,
link: "https://github.com/muttoni/fcl-nextjs-quickstart",
imageUri:
"https://user-images.githubusercontent.com/27052451/146340356-e34f3c47-43bc-4c11-926b-b82b99d561c6.png",
}

export const FCLQuickstartNuxtJs: TutorialCardProps = {
heading: "FCL Quickstart for Nuxt.js",
tags: ["quickstart", "beginner"],
description: `Everything you need to build a web3 project with the Vue, NuxtJS, and the Flow Client Library (FCL).`,
link: "https://github.com/brunogonzales/fcl-nuxt-starter",
imageType: "code",
}

export const FCLQuickstartSvelteKit: TutorialCardProps = {
heading: "FCL Quickstart for SvelteKit",
tags: ["quickstart", "beginner"],
description: `Everything you need to build a web3 project with Svelte, SvelteKit and the Flow Client Library (FCL).`,
link: "https://github.com/muttoni/fcl-sveltekit-quickstart",
imageType: "code",
}

export const flowNFTPetStore: TutorialCardProps = {
heading: "Building an NFT Pet Store on Flow with IPFS",
tags: ["tutorial", "intermediate", "nft"],
description: `This tutorial will teach you to create a simple NFT marketplace on the Flow blockchain from scratch with IPFS/Filecoin storage via nft.storage.`,
link: "https://nftschool.dev/tutorial/flow-nft-marketplace/#prerequisites",
imageUri: "https://nftschool.dev/images/social-card.png",
}

export const learnCadenceVideoSeries: TutorialCardProps = {
heading: "Learn Cadence - Video Series",
tags: ["video", "beginner", "cadence"],
description: `A series of YouTube videos on learning Cadence from scratch by Jacob Tucker.`,
link: "https://www.youtube.com/playlist?list=PLvcQxi9WyGdF32YuZABVTx-t3-FsBNCN2",
imageUri:
"https://i.ytimg.com/vi/iVevnipJbHo/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAJUzBQOerdgQGWn0FfbGT4fGv2vA",
}

export const flowMetaDataStandard: TutorialCardProps = {
heading: "Metadata Standard on Flow",
tags: ["video", "nft", "intermediate"],
description: `An in-depth video of the Flow Metadata Standard demonstrated through an example on the Flow Playground.`,
link: "https://youtu.be/rgJRTozG3cw",
imageUri:
"https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg",
lastUpdated: "05/01/2022",
}

export const NBATopShotExample: TutorialCardProps = {
heading: "How to Create NFTs Like NBA Top Shot - Pt 1",
tags: ["tutorial", "nft", "beginner"],
description: `Learn how to make an NBA Top Shot like NFTs with Flow and IPFS by creating the smart contract, developing an app to view the NFTs and creating a marketplace for transactions`,
link: "https://medium.com/pinata/how-to-create-nfts-like-nba-top-shot-with-flow-and-ipfs-701296944bf",
imageUri: "https://miro.medium.com/max/1400/1*SaFqgvNb_6uCxqOmmSqriw.png",
lastUpdated: "27/02/2022",
}

export const flowMultiNodeArchitecture: TutorialCardProps = {
heading: "Flow's Multi-Node Architecture",
tags: ["architecture", "intermediate"],
description: `A deep dive into how Flow's multi-node architecture scales to millions, increases decentralization, and ensures a great end-user experience`,
link: "https://www.onflow.org/post/flow-blockchain-multi-node-architecture-advantages",
imageUri:
"https://assets.website-files.com/5f6294c0c7a8cdf432b1c827/6143728c4909ca0adba869a4_Flow_Blog-Inside%20Flow.png",
lastUpdated: "16/09/2021",
}

export const zeroToJacobFlow: TutorialCardProps = {
heading: "Zero-to-Jacob Flow",
tags: ["course", "beginner", "cadence"],
description: `A self-paced course for Cadence, created by Jacob Tucker, containing multiple lessons, videos, and a certificate of completion`,
link: "https://github.com/jacob-tucker/Flow-Zero-to-Jacob",
imageUri:
"https://github.com/emerald-dao/beginner-cadence-course/raw/main/images/course.png",
}

export const revolutionizeSmartContractProgramming: TutorialCardProps = {
heading: "How Cadence and Flow will revolutionize smart contract programming",
tags: ["article", "cadence"],
description: `An article discussing how Flow and Cadence brings new innovations to smart contract development by shifting to a resource-oriented programming paradigm.`,
link: "https://medium.com/coinmonks/how-cadence-and-flow-will-revolutionize-smart-contract-programming-607bd05b49b",
imageUri: "https://miro.medium.com/max/1400/0*9aqBPbb70U9fJTQm",
lastUpdated: "6/04/2022",
}

export const playgroundTutorials: TutorialCardProps = {
heading: "Flow Playground Tutorials",
tags: ["tutorial", "beginner", "cadence"],
description: `Learn to use Cadence using the Flow Playgound Web IDE`,
link: "https://developers.flow.com/cadence/tutorial/01-first-steps",
imageUri: "https://miro.medium.com/max/1400/1*WGxn8AZj-gZXd_vipdBxSg.png",
lastUpdated: "17/10/2022",
}

export const cadenceAtAGlance: TutorialCardProps = {
heading: "Cadence at a Glance",
tags: ["article", "cadence"],
description: `A quick overview of resources, access-control and transactions on Cadence`,
link: "https://medium.com/@ebner.benjamin/cadence-at-a-glance-4e685c34b544",
imageUri: "https://miro.medium.com/max/1400/1*WGxn8AZj-gZXd_vipdBxSg.png",
lastUpdated: "17/09/2021",
}

export const firstStepsWithCadence: TutorialCardProps = {
heading: "Taking your First Steps with Cadence",
tags: ["article", "cadence", "tutorial"],
description: `Learn how to get started developing with Cadence with tutorials on the Flow Playground, standard interfaces, real Cadence contracts and diving into more advanced topics`,
link: "https://joshuahannan.medium.com/taking-your-first-steps-with-cadence-19dde86bbd0",
imageUri: "https://miro.medium.com/max/1312/1*GcG84v5U97IebXhyMw65Nw.png",
lastUpdated: "11/02/2021",
}

export const accessControlCadence: TutorialCardProps = {
heading: "Basic Access Control in Cadence",
tags: ["article", "cadence", "tutorial"],
description: `A deeper dive into Keyword Access Control and Capability-based Access-Control`,
link: "https://joshuahannan.medium.com/basic-access-control-in-cadence-28c5765c6ec0",
imageUri: "https://miro.medium.com/max/694/1*M7p33-EGZPFdKcX7oR6mDg.jpeg",
lastUpdated: "18/02/2021",
}
10 changes: 10 additions & 0 deletions src/data/events/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { UpcomingEventsProps } from "~/ui/design-system/src/lib/Components/UpcomingEvents"

export const OFFICE_HOURS_EVENT_TYPE = "Flow office hours"

const allEvents: UpcomingEventsProps = {
goToCommunityHref: "/community",
events: [],
}

export { allEvents }
8 changes: 8 additions & 0 deletions src/data/external-links.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export const externalLinks = {
discord: "https://onflow.org/discord",
discourse: "https://forum.onflow.org/",
flow: "https://onflow.org/",
github: "https://github.com/onflow",
twitter: "https://twitter.com/flow_blockchain",
youtube: "https://www.youtube.com/c/FlowBlockchain",
}
12 changes: 12 additions & 0 deletions src/data/metadata.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export const metadata = {
siteTitle: "Flow Developer Portal",
siteDescription: "Your resource for everything you'll need to build in Flow",
defaultPageTitle: "Flow Blockchain",
defaultPageImage:
"https://flow-og-image.vercel.app/**Explore the Flow Developer Portal**.png?theme=dark&md=1&fontSize=100px&images=https%3A%2F%2Fstorage.googleapis.com%2Fflow-resources%2Fdocumentation-assets%2Fflow-docs.png&widths=auto&heights=350",
defaultKeywords: "",
openGraphDefaultTitle: "Flow Developer Documentation",
twitterTagContentCreatorUsername: "@flow_blockchain",
twitterTagSiteUsername: "@flow_blockchain",
githubRepoBaseUrl: "https://github.com/onflow/developer-portal",
}
65 changes: 65 additions & 0 deletions src/data/networks.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
export type Network = {
/**
* The statuspage.io component ID for this network
* @see {@link https://developer.statuspage.io/#operation/getPagesPageIdComponents}
*/
componentId: string

/**
* A unique id for the network. This should match the identifier
* used by sporks (i.e. https://raw.githubusercontent.com/onflow/flow/master/sporks.json)
*/
id: string

/**
* The user-facing display title for the network.
*/
title: string

/**
* The URL path identifier for this network
* (i.e. "flow-testnet" means the URL for this network details will be
* "/netwoorks/flow-testnet")
*/
urlPath: string
}

export const networks: Network[] = [
{
componentId: "nfr4t4jf0jw5",
id: "mainnet-core-components",
title: "Flow Mainnet Core Components",
urlPath: "flow-mainnet-core-components",
},
{
componentId: "xmgzlt62mtg4",
id: "mainnet-access-apis",
title: "Flow Mainnet Access APIs",
urlPath: "flow-mainnet-access-apis",
},
{
componentId: "g9d7vtywpdfq",
id: "testnet",
title: "Flow Testnet",
urlPath: "flow-testnet",
},
{
componentId: "1zmp931swvcs",
id: "sandboxnet-core-components",
title: "Flow Sandboxnet Core Components",
urlPath: "flow-sandboxnet-core-components",
},
{
componentId: "xc3zrll5td5p",
id: "sandboxnet-access-apis",
title: "Flow Sandboxnet Access APIs",
urlPath: "flow-sandboxnet-access-apis",
},
// Exclude canarynet for now until we have sporks data.
// {
// componentId: "s4z9n7p9pm3s",
// id: "canarynet",
// title: "Flow Canarynet",
// urlPath: "flow-canarynet",
// },
]
Loading

0 comments on commit 4a10faa

Please sign in to comment.