Skip to content

MTthoas/Dex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b52e76e · Jul 22, 2024
Jul 21, 2024
Jul 11, 2024
Jul 22, 2024
Jul 22, 2024
Jul 22, 2024
Apr 28, 2024
Jul 21, 2024
Jul 22, 2024
Apr 28, 2024
Apr 21, 2024
Jul 3, 2024

Repository files navigation

Decentralized Exchange

Annual project focused on creating a complete decentralized application (dApp) that simulates a digital asset exchange platform on the Ethereum blockchain. This project is designed to provide a comprehensive experience in the development of a modern, decentralized financial (DeFi) application.

Prerequisites

  • Node.js
  • npm
  • Wallet ( metamask / trust .. )

Technologies

To the global web architecture we're using foundry.Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line and via Solidity scripts.

  1. Smart Contracts:

We're using Solidity to write the smart contracts and Truffle to compile, test and deploy them.

  • Solidity,
  • Truffle,
  • TypeScript,
  1. API:

We're using a Go API to get tokens Infos and to interact with the smart contracts. We're using Gin as a web framework, Gorm as an ORM and Go to interact with the Ethereum blockchain.

  • Go,
  • Gin,
  • Gorm,
  1. Frontend:

We're using React to create the frontend of the dApp. We're using TypeScript to write the code and TailwindCSS to style the components.

  • React,
  • TypeScript,
  • TailwindCSS,
  • Shadcn/ui
  1. Integration:

We're using Docker to run the API and the smart contracts on the same network.

Structure

├── contracts
│   ├── lib
│   ├── script
│   ├── src
│   └── test
│
├── api
│   ├── controller
│   ├── models
│   ├── services
│   ├── main.go
│   └── .env
│ 
└── frontend
    ├── src
    │    ├── assets 
    │    └── components
    │    └── lib
    │    └── styles
    ├── .env
    ├── tailwind.config.js
    ├── lib
    └── styles

Installation

1. Clone the repository

git clone git@github.com:MTthoas/Dex.git

2. Install the dependencies

cd Dex
npm install

3. Compile the smart contracts

npm run compile

4. Deploy the smart contracts

npm run deploy

5. Run frontend

cd ./frontend
npm i
npm start