Welcome to the Decentralized Exchange Platform project! This project is focusing on creating a fully functional decentralized application (dApp) on EVM blockchain. The project involves the use of Next.js for the front end, a Go API connected to a postgreSQL database with Prisma for the backend, and Foundry for smart contract development. Docker is used for containerization.
This dApp simulates a decentralized exchange platform with the following features:
- User Interface: Users can view and select digital assets, exchange tokens, add assets to liquidity pools, and stake assets to earn periodic returns.
- Administration: Admins can manage platform settings, ban users, donate assets, and view platform statistics on a dashboard.
- Next.js: Front-end framework.
- Go: Backend API.
- Foundry: Smart contract development.
- Docker & Docker Compose: Containerization.
- PostgreSQL: Database managed with Prisma.
The project is structured as follows: Image soon to come
- Connect Wallet: New users can connect to the platform via their wallet.
- Browse Assets: View available assets and their details.
- Token Swap: Exchange tokens with available pairs.
- Liquidity Pool: Add assets to liquidity pools.
- Staking: Stake assets to earn periodic returns.
- Dashboard Access: Admins can log in to the admin dashboard.
- Manage Administrators: Add new admins.
- Balance Management: Add and withdraw from the smart contract balance.
- Asset Management: Remove assets from the platform.
- User Management: Ban users.
- Statistics: View user and asset statistics.
-
Clone the Repository: ```bash git clone https://github.com/Yassine94110/dex_pa.git cd dex_pa ```
-
Docker Setup: Ensure you have Docker and Docker Compose installed. Then, run: ```bash docker-compose up --build ```
-
Environment Variables: Create a
.env
file based on.env.example
and set the required environment variables.
We welcome contributions from the community! Please fork the repository and submit pull requests. Ensure your code follows the project's coding standards.
This project is licensed under the MIT License. See the LICENSE file for more information.
Happy coding! 🚀