Skip to content

Commit

Permalink
📄 Update README.md + add contracts to Package.json workspaces + Updat…
Browse files Browse the repository at this point in the history
…e Justfile
  • Loading branch information
sshmaxime committed Oct 14, 2024
1 parent 7bdbaff commit 637b87c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 7 deletions.
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@

![React] ![TypeScript] ![Next.js] ![Vercel] ![Three.js] ![ReactQuery]

This monorepo is a playground for all of my `React`, `Next.js` & `Typescript` projects.
This monorepo is a playground for all of my `React`, `Next.js`, `Typescript` & `Solidity` projects.

I’ve spent considerable time developing apps and dApps, both for personal side projects and companies I've worked with. Along the way, I realized the need for a simple, fully-configured, and customizable monorepo that would allow me to quickly iterate on new projects.

---

## Architecture

This monorepo is organized into three main workspaces: `apps`, `packages`, and `configs`. Each workspace serves a distinct purpose, making the overall structure intuitive and easy to navigate.
This monorepo is organized into four main workspaces: `apps`, `contracts`, `packages`, & `configs`. Each workspace serves a distinct purpose, making the overall structure intuitive and easy to navigate.

- The `apps` workspace contains a collection of projects built with `React`, `Next.js`, and `TypeScript`, ranging from blockchain explorers to static websites.
- The `apps` workspace contains a collection of projects built with `React`, `Next.js`, & `TypeScript`, ranging from blockchain explorers to static websites.

- The pack`ages workspace houses reusable libraries, providing essential UI components, cryptographic utilities, and TypeScript helpers.
- The `contracts` workspace includes a set of smart-contracts built and developed with `Solidity` & `Foundry`.

- The `packages` workspace houses reusable libraries, providing essential UI components, cryptographic utilities, and TypeScript helpers.

- The `configs` workspace offers base configurations for TypeScript projects, ensuring consistent setups and best practices across all applications.

Expand Down Expand Up @@ -60,6 +62,21 @@ Within the `apps` workspace, you'll find a curated collection of apps I've devel

> A basic boilerplate to quickly bootstrap a new app.
---

## Contracts

The `contracts` workspace is dedicated to housing a variety of `smart contracts` that have been developed using `Solidity` and `deployed`/`tested` with `Foundry`. This workspace serves as a central directory for managing and organizing `solidity` code, providing a foundation for decentralized applications and blockchain-based solutions. It streamlines development and ensures all contract-related files are accessible for efficient `testing`, `deployment`, `maintenance` & `usability` for the `apps` workspace.

### @web-playground/contracts-premier

![Solidity]

...

<h1></h1>


---

## Packages
Expand Down Expand Up @@ -113,3 +130,4 @@ This package provides a comprehensive set of `base configurations` essential for
[Json]: https://img.shields.io/badge/JSON-black?logo=json&logoColor=white
[Viem]: https://custom-icon-badges.demolab.com/badge/Viem-black?logo=viem&logoColor=white
[Wagmi]: https://img.shields.io/badge/Wagmi-black?logo=wagmi&logoColor=white
[Solidity]: https://img.shields.io/badge/Solidity-black?logo=solidity&logoColor=white
6 changes: 5 additions & 1 deletion contracts/premier/Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,20 @@ ANVIL_DEFAULT_PARAMS := ANVIL_PARAM_BROADCAST + \
STORE_CONTRACT := "script/Store.s.sol"
export STORE_CONTRACT_SALT := env_var("STORE_CONTRACT_SALT")

# Installation.
install:
forge install foundry-rs/forge-std@v1.9.3 --no-commit
forge install OpenZeppelin/openzeppelin-foundry-upgrades@v0.3.6 --no-commit
forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v5.0.2 --no-commit

# Build.
build: build_contracts generate_abi

deploy-store-anvil:
# Deployments.
deploy-anvil:
forge script {{ STORE_CONTRACT }} {{ ANVIL_DEFAULT_PARAMS }}

# Test.
test:
forge test

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
},
"workspaces": [
"apps/*",
"contracts/*",
"packages/*",
"configs/*",
"contracts/*"
"configs/*"
],
"packageManager": "[email protected]"
}

0 comments on commit 637b87c

Please sign in to comment.