Modified readme to contain instructions to use frontend as it currently stands
This commit is contained in:
parent
29c5f6f931
commit
16bb8acc7e
96
readme.md
96
readme.md
@ -1 +1,95 @@
|
|||||||
### Fill this in later
|
# 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
|
Loading…
Reference in New Issue
Block a user