Atomic Transfer (ASA) program for Beginner

Hey I’m trying to set up a simple program to allow for the transfer/swap ASA’s between wallets, similar to an exchange. How should I start the program to give me simple usability? I’m a novice trying to create this application not sure where to start, maybe someone can give me some code and point me in a place as to how to do this? (A link to guide that gives me usable code would be BEST)

I want to

  1. Allow user to swap NFT in their wallet for another NFT from another user
  2. Create a front-end application where users can connect to to do this

I just need the proper initial direction so I can keep growing my knowledge and hopefully this can grow into creating a powerful DEX/NFT marketplace exchange

I would strongly recommend by starting reading about atomic transfers there Atomic transfers - Algorand Developer Portal and the other “getting started” part of the documentation.

Connection to wallets to allow users to sign transactions can be done in 3 different ways: AlgoSigner, MyAlgoWallet Connect, WalletConnect.

If you want a more hands-on approach to atomic transactions: GitHub - algorandfoundation/buildweb3: Repository for the Algorand class of the "Building with Blockchain for Web 3.0" course (https://buildweb3.org)