151 lines
4.2 KiB
Markdown
151 lines
4.2 KiB
Markdown
# AeThex Forge - Local Development Setup
|
|
|
|
## Quick Start Guide
|
|
|
|
This guide will help you set up and run the AeThex platform locally on your machine.
|
|
|
|
## Prerequisites
|
|
|
|
1. **Node.js** (v18 or higher)
|
|
- Download from: https://nodejs.org/
|
|
- This will also install npm (Node Package Manager)
|
|
|
|
2. **Git** (optional, if you want to clone updates)
|
|
- Download from: https://git-scm.com/
|
|
|
|
## Installation Steps
|
|
|
|
### 1. Install Node.js
|
|
- Visit https://nodejs.org/ and download the LTS version
|
|
- Run the installer and follow the setup wizard
|
|
- Restart your terminal/PowerShell after installation
|
|
|
|
### 2. Verify Installation
|
|
Open PowerShell or Command Prompt and run:
|
|
```powershell
|
|
node --version
|
|
npm --version
|
|
```
|
|
You should see version numbers (e.g., v20.x.x and 10.x.x)
|
|
|
|
### 3. Install Project Dependencies
|
|
Navigate to the project folder and install dependencies:
|
|
```powershell
|
|
cd C:\Users\PCOEM\Downloads\aethex-forge\aethex-forge
|
|
npm install
|
|
```
|
|
This may take a few minutes as it downloads all required packages.
|
|
|
|
### 4. Set Up Environment Variables
|
|
Create a `.env` file in the root directory (`aethex-forge` folder) with the following variables:
|
|
|
|
**Minimum Required (to run the app):**
|
|
```env
|
|
# Supabase Configuration (Required)
|
|
VITE_SUPABASE_URL=your_supabase_url_here
|
|
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key_here
|
|
SUPABASE_SERVICE_ROLE=your_service_role_key_here
|
|
SUPABASE_URL=your_supabase_url_here
|
|
|
|
# API Base URL
|
|
VITE_API_BASE=http://localhost:5000
|
|
```
|
|
|
|
**Optional (for full functionality):**
|
|
```env
|
|
# Discord Integration
|
|
DISCORD_CLIENT_ID=your_discord_client_id
|
|
DISCORD_CLIENT_SECRET=your_discord_client_secret
|
|
DISCORD_BOT_TOKEN=your_discord_bot_token
|
|
DISCORD_PUBLIC_KEY=your_discord_public_key
|
|
DISCORD_REDIRECT_URI=http://localhost:5000/api/discord/oauth/callback
|
|
|
|
# Foundation OAuth
|
|
VITE_FOUNDATION_URL=https://aethex.foundation
|
|
FOUNDATION_OAUTH_CLIENT_ID=your_foundation_client_id
|
|
FOUNDATION_OAUTH_CLIENT_SECRET=your_foundation_client_secret
|
|
|
|
# Email Service (SMTP)
|
|
SMTP_HOST=your_smtp_host
|
|
SMTP_PORT=587
|
|
SMTP_USER=your_smtp_user
|
|
SMTP_PASSWORD=your_smtp_password
|
|
|
|
# Other Services
|
|
VITE_GHOST_API_URL=your_ghost_api_url
|
|
GHOST_ADMIN_API_KEY=your_ghost_admin_key
|
|
```
|
|
|
|
**Note:** You can start with just the Supabase variables to get the app running. Other features will work once you add their respective credentials.
|
|
|
|
### 5. Run the Development Server
|
|
```powershell
|
|
npm run dev
|
|
```
|
|
|
|
The application will start on **http://localhost:5000**
|
|
|
|
Open your browser and navigate to that URL to view the application.
|
|
|
|
## Available Commands
|
|
|
|
- `npm run dev` - Start development server (port 5000)
|
|
- `npm run build` - Build for production
|
|
- `npm start` - Start production server
|
|
- `npm run typecheck` - Check TypeScript types
|
|
- `npm test` - Run tests
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
aethex-forge/
|
|
├── client/ # React frontend (pages, components)
|
|
├── server/ # Express backend API
|
|
├── api/ # API route handlers
|
|
├── shared/ # Shared types between client/server
|
|
├── discord-bot/ # Discord bot integration
|
|
└── supabase/ # Database migrations
|
|
```
|
|
|
|
## Getting Supabase Credentials
|
|
|
|
If you don't have Supabase credentials yet:
|
|
|
|
1. Go to https://supabase.com/
|
|
2. Create a free account
|
|
3. Create a new project
|
|
4. Go to Project Settings → API
|
|
5. Copy:
|
|
- Project URL → `VITE_SUPABASE_URL` and `SUPABASE_URL`
|
|
- `anon` `public` key → `VITE_SUPABASE_ANON_KEY`
|
|
- `service_role` `secret` key → `SUPABASE_SERVICE_ROLE`
|
|
|
|
## Troubleshooting
|
|
|
|
### Port Already in Use
|
|
If port 5000 is already in use, you can change it in `vite.config.ts`:
|
|
```typescript
|
|
server: {
|
|
port: 5001, // Change to any available port
|
|
}
|
|
```
|
|
|
|
### Module Not Found Errors
|
|
Try deleting `node_modules` and `package-lock.json`, then run `npm install` again:
|
|
```powershell
|
|
Remove-Item -Recurse -Force node_modules
|
|
Remove-Item package-lock.json
|
|
npm install
|
|
```
|
|
|
|
### Environment Variables Not Loading
|
|
- Make sure `.env` file is in the root `aethex-forge` directory
|
|
- Restart the dev server after adding new environment variables
|
|
- Variables starting with `VITE_` are exposed to the client
|
|
|
|
## Need Help?
|
|
|
|
- Check the `docs/` folder for detailed documentation
|
|
- Review `AGENTS.md` for architecture details
|
|
- See `replit.md` for deployment information
|
|
|