--- tags: ncd-ii title: NEAR Certified Developer - Architecture and UX of web 3 description: Learn to design blockchain-powered application architectures that involve contract orchestration and take full advantage of the NEAR account model and access keys. image: https://near.org/wp-content/themes/near-19/assets/downloads/near_logo.svg --- # Exploring ## Architecture and UX of web 3 *Learn to design blockchain-powered application architectures that involve contract orchestration and take full advantage of the NEAR account model and access keys.* --- ### :sparkles: The goal for this session is to build a coherent mental model of how web 3 applications are structured on NEAR. :sparkles: --- Sometimes people aren't sure how to complete this activity. These tips may help. Consider that it is better to read *many times quickly* and NOT just one time slowly. Read [How to survey?](https://hackmd.io/@nearly-learning/how-to-survey) to better understand why and how you can do this :::success ### :green_book: CORE Activities ::: - Explore the [`near-api-js` Starter Kit](https://github.com/Learn-NEAR/starter--near-api-js) _This repo includes a few simple examples to help make clear the basics of connecting to near_ - Expore the [NEAR documentation for frontend development](https://docs.near.org/docs/develop/front-end/near-api-js) _This documentation covers a wide range of concepts using concrete examples_ :::info ### :blue_book: BONUS Activities *If you have the time to look around the corner, here's a little more for you.* ::: - Explore the [`near-api-js` workshop](https://docs.near.org/docs/tutorials/front-end/naj-workshop) _This workshop includes several structured activities to help you become more familiar with the NEAR APIs_ :::warning ### :orange_book: Going Deeper *If you're feeling fearless, here's about as far as you might take this road in a day* ::: - Read [How to use NEAR in a game](https://github.com/vgrichina/near-lands/blob/main/HOWTO.md) and [When blockchain makes sense](https://github.com/vgrichina/near-lands/blob/main/GAME-ECONOMIES.md) - Review all [NEAR App Examples](http://github.com/near-apps) and watch related [Live App Review](https://youtube.com/playlist?list=PL9tzQn_TEuFXnHlfh00etU57IjpRlQGpY) videos - Dive into [near-api-js](https://github.com/near/near-api-js) source (just focus on the `.ts` files as the rest are generated) - Dive into NEAR CLI source to see how these applications address the network - [NodeJS implementation](https://github.com/near/near-cli) - [Rust implementation](https://github.com/near/near-cli-rs) --- > *None of us is as smart as all of us* > > *-- Ken Blanchard* > > --- > *It is not that I'm so smart. But I stay with the questions much longer.* > > *-- Albert Einstein* --- # :dart: Resources **Basics I** - [Networks](https://docs.near.org/docs/concepts/networks) will help you make sense of the fact that you are connecting to a live network and must choose which one to work with, either TestNet where money is free or MainNet or money is connected with the outside world - [Accounts](https://docs.near.org/docs/concepts/account) will help you make sense of the NEAR account system - [Hackathon guide](https://docs.near.org/docs/develop/basics/hackathon-startup-guide) will help you try a few things quickly and avoid some common pitfalls when building with NEAR - [FAQ](https://docs.near.org/docs/faq/developer-faq) includes a few common questions that developers ask - [NEAR CLI](https://docs.near.org/docs/tools/near-cli) is an implementation of a NEAR client-side application that sends requests to the network **Basics II** - [Actions](https://docs.near.org/docs/concepts/transaction) will help you make sense of the structure of transactions -- they're made up of one or more Actions - [Transaction](https://docs.near.org/docs/concepts/transaction) will help you make sense of the structure of transactions - [Frontend Reference](https://docs.near.org/docs/api/naj-quick-reference) is a reference for frontend development on NEAR - [Frontend Cookbook](https://docs.near.org/docs/api/naj-cookbook) is a list of useful code recipes for working with NEAR - [Gas](https://docs.near.org/docs/concepts/gas) will help you make sense of the concept of Gas and how it is spent **Intermediate** - [Structure of `near-api-js`](https://docs.near.org/docs/tutorials/front-end/naj-examples) is a deep dive into the structure of `near-api-js` - [Figment](https://learn.figment.io/protocols/near) is a set of tutorials built by developers for developers who are new to NEAR - [NEAR APIs workshop](https://github.com/near-examples/workshop--exploring-near-apis) is a workshop to help you explore the various features of the NEAR APIs - [CRUD dApp](https://docs.near.org/docs/tutorials/apps/todos-crud-app) is a full stack application built using NEAR **Advanced** - [Indexer Framework](https://docs.near.org/docs/tools/near-indexer-framework) is a design and sample implementation of an indexing service that captures on chain activity and lets you query it over time - [App Review](https://docs.near.org/docs/videos/live-app-review) is a series of videos that explain the code living in https://github.com/near-apps - [RPC API](https://docs.near.org/docs/api/overview) is official documentation for the NEAR RPC API - [REST Server](https://docs.near.org/docs/api/rest-server/overview) is an implementation of a wrapper for `near-api-js` that exposes a REST interface for easy onboarding from web 2 - [`near-api-js`](https://docs.near.org/docs/api/javascript-library) is the documentation for `near-api-js`