From 16bb8acc7ec3116ae37bb59aa4b310431fcdfe2c Mon Sep 17 00:00:00 2001 From: NasSharaf Date: Mon, 12 May 2025 18:43:06 -0400 Subject: [PATCH] Modified readme to contain instructions to use frontend as it currently stands --- readme.md | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 5365919..eb92349 100644 --- a/readme.md +++ b/readme.md @@ -1 +1,95 @@ -### Fill this in later \ No newline at end of file +# Laconic Frontend + +## Prerequisites + +Ensure you have the following installed: +- [Node.js](https://nodejs.org/) (v18+) +- [pnpm](https://pnpm.io/) (v8+) +- [Git](https://git-scm.com/) + +## Project Structure + +This monorepo contains several packages: + +- `apps/deploy-fe`: Frontend Next.js application +- `apps/backend`: Express.js backend API +- `apps/deployer`: Deployment service +- `services/gql-client`: GraphQL client library +- `services/ui`: Shared UI components +- `services/typescript-config`: Shared TypeScript configurations + +## Getting Started + +### 1. Clone the repository + +```bash +git clone https://github.com/yourusername/qwrk-laconic-core-develop.git +cd qwrk-laconic-core-develop +``` + +### 2. Install dependencies + +```bash +pnpm install +``` + +### 3. Configure environment variables + +Create a `.env.local` file in the `apps/deploy-fe` directory: + +``` +NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key +CLERK_SECRET_KEY=your_clerk_secret +NEXT_PUBLIC_WALLET_IFRAME_URL=http://localhost:4000 +NEXT_PUBLIC_LACONICD_CHAIN_ID=laconic-testnet-2 +NEXT_PUBLIC_API_URL=http://localhost:8000 +NEXT_PUBLIC_GITHUB_FALLBACK_TOKEN=your_github_token +``` + +Create a `local.toml` file in `apps/backend/environments/` (based on the example file). + +### 4. Start the development servers + +#### Frontend: +```bash +cd apps/deploy-fe +pnpm dev +``` + +### 5. Connect Your Wallet + +The application requires a Laconic wallet for certain operations. You need to set up: + +1. A running wallet instance (follow the setup in the laconic-wallet-web repository) +2. Configure the `NEXT_PUBLIC_WALLET_IFRAME_URL` to point to your wallet instance + +## Architecture + +### Frontend (Next.js App Router) + +The frontend is built with: +- Next.js 15 with App Router +- React 19 +- Clerk for authentication +- TailwindCSS for styling +- Radix UI components + +### Authentication Flow (NEEDS DEVELOPMENT!!!) + +1. User authenticates with Clerk (GitHub OAuth) +2. User connects wallet (Sign-In With Ethereum) +3. Backend validates and establishes a session + +## Available Scripts + +- `pnpm dev`: Start development servers +- `pnpm build`: Build all packages +- `pnpm lint`: Run linting +- `pnpm check-types`: Check TypeScript types + +### GitHub Authentication + +Make sure you have: +1. Connected your GitHub account in Clerk +2. Provided the necessary permissions for repository access +3. Set a fallback GitHub token in `.env.local` if needed for development \ No newline at end of file