I built a simplified version of the Uniswap-V1 Exchange in Solidity.
This version of Uniswap allows for transfers between ETH and any ERC20 token.
Here is a frontend I built using scaffold-eth to test out the smart contract on rinkeby: https://uniswap-v1-test.surge.sh/. I added an initial liquidity pool of 4 ETH and 4000 tokens.