Skip to content

v0id-user/v0id-land

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

V0ID Land

My Personal Space & Website to express, write, and share my thoughts, ideas, projects and my personal journey and experiences also including my personal data. It works as a central point for me.

image of the landing page

Features

  • Custom Blogging System with GPG Signing
  • Blog Editor Built With TipTap and Improved with Custom Components
  • File Storage and Management
    • File Upload/Download
    • File Sharing
    • File Pre-signing
    • S3-compatible Storage Integration
  • Portfolio Showcase
  • Real-time Auto-Drafting using PostgreSQL and SSE
  • Authentication System with Root GPG technique
  • Modern UI with Next.js and TailwindCSS
  • Custom Cursor

Tech Stack

  • Frontend: Next.js, React, TailwindCSS
  • Backend: Next.js API Routes
  • Database: PostgreSQL
  • Caching: Redis
  • Storage: S3-compatible Storage (Tigris)
  • Security: GPG for Blog Verification
  • Runtime: Bun

Prerequisites

Before you begin, ensure you have the following:

  • Node.js and npm (or Bun)
  • PostgreSQL database
  • Redis server
  • S3-compatible storage (like Tigris)
  • GPG key pair for blog verification

Environment Setup

  1. Create a .env file in the root directory with the following variables:
# Database
DATABASE_URL=postgresql://postgres:@localhost:5432/land?schema=public

# Redis
REDIS_URL=redis://localhost:6379

# GPG Keys
GPG_PUBLIC_KEY=-----BEGIN PGP PUBLIC KEY BLOCK----- ... Complete Public Key ... -----END PGP PUBLIC KEY BLOCK-----
GPG_PRIVATE_KEY=-----BEGIN PGP PRIVATE KEY BLOCK----- ... Complete Private Key ... -----END PGP PRIVATE KEY BLOCK-----


# JWT
JWT_SECRET=your_secure_jwt_secret

# S3 Configuration
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_ENDPOINT_URL_S3=your_s3_endpoint
AWS_ENDPOINT_URL_IAM=your_iam_endpoint
AWS_REGION=your_region
AWS_BUCKET_NAME=your_bucket_name

STORAGE_DOMAIN=your_storage_domain
  1. Create a keys directory in the root and place your GPG keys there:
mkdir keys
# Place your GPG keys in the keys directory

Installation & Setup

  1. Clone the repository
git clone https://github.com/v0id-user/v0id-land.git
cd v0id-land
  1. Install dependencies
# Using npm
npm install

# Or using Bun
bun install
  1. Set up the database
npx prisma migrate dev
  1. Start the development server
# Using npm
npm run dev

# Or using Bun
bun run dev

Docker Deployment

The project includes Docker support. To run using Docker:

docker-compose up -d

It yet does not include the database and redis server. You need to setup them manually.

Status

Currently in stable state. Features are being added and refined regularly so be aware that anything might get broken along the way.

License

This project is open-source and available under the MIT License.


Built with ♥ by #V0ID

About

#V0ID Official Personal Website - www.v0id.me

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages