Files
ArkLinks/README.md
2026-01-15 11:53:54 +02:00

126 lines
3.2 KiB
Markdown

# ArkLinks
A modern, customizable link-in-bio solution built with React and Appwrite.
## Features
- **Setup Wizard** - Easy first-time configuration
- **Link Management** - Add, edit, reorder your links
- **Social Media** - Connect all your social profiles
- **Theme Customization** - Colors, fonts, button styles
- **Gallery** - Showcase your past works
- **App Downloads** - iOS/Android app links with Coming Soon badge
- **QR Code Generator** - Custom QR codes with your logo
- **Coming Soon** - Mark links/apps as coming soon
- **Mobile Responsive** - Looks great on all devices
## Quick Start
### 1. Setup Appwrite
Create a project on [Appwrite Cloud](https://cloud.appwrite.io) or self-hosted instance.
The database, collections, and bucket are already created. Note your:
- Endpoint URL (e.g., `https://cloud.appwrite.io/v1`)
- Project ID
### 2. Configure Environment
```bash
cp .env.example .env
```
Edit `.env`:
```
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your-project-id
```
### 3. Run Locally
```bash
npm install
npm run dev
```
Open http://localhost:3000
### 4. Deploy with Docker
```bash
# Set environment variables
export VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
export VITE_APPWRITE_PROJECT_ID=your-project-id
# Build and run
docker-compose up -d --build
```
## Project Structure
```
src/
├── components/
│ └── AdminLayout.jsx # Admin sidebar layout
├── lib/
│ └── appwrite.js # Appwrite SDK configuration
├── pages/
│ ├── Home.jsx # Public profile page
│ ├── ComingSoon.jsx # Coming soon page
│ └── admin/
│ ├── Setup.jsx # First-time setup wizard
│ ├── Dashboard.jsx # Admin dashboard
│ ├── Links.jsx # Manage links
│ ├── Social.jsx # Social media links
│ ├── Theme.jsx # Theme customization
│ ├── Gallery.jsx # Gallery management
│ ├── Apps.jsx # App download links
│ └── QRCode.jsx # QR code generator
├── App.jsx # Main router
├── main.jsx # Entry point
└── index.css # Tailwind CSS
```
## Appwrite Database Structure
**Database:** `arklinks`
| Collection | Purpose |
|------------|---------|
| `clients` | Business profile info |
| `links` | Custom links |
| `socialLinks` | Social media profiles |
| `themes` | Color and style settings |
| `gallery` | Portfolio images |
| `apps` | App download links |
**Bucket:** `arklinks-media` - Stores logos and gallery images
## Deployment for Each Client
1. Clone the repo
2. Set environment variables for Appwrite
3. Deploy with Docker:
```bash
docker-compose up -d --build
```
4. Visit the URL - the setup wizard will guide through configuration
5. Each deployment creates its own records in the central Appwrite database
## Tech Stack
- **React 18** - UI framework
- **Vite** - Build tool
- **Tailwind CSS** - Styling
- **React Router** - Navigation
- **Appwrite** - Database & Storage
- **qrcode.react** - QR code generation
- **Lucide React** - Icons
- **Docker + Nginx** - Production deployment
## License
MIT