Skip to content

WeWriteApp/WeWrite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WeWrite

A social wiki where every page you write is a fundraiser.

WeWrite transforms knowledge sharing into a collaborative economy where writers earn direct USD payments from their contributions and readers support creators with transparent monthly funding.

🌐 Connect With Us

  • πŸ”— Bento - All our links in one place
  • πŸ“Έ Instagram - Behind the scenes and updates
  • πŸŽ₯ YouTube - Tutorials and feature demos
  • 🐦 Twitter - Real-time updates and community
  • πŸ’¬ Discord - Join our community discussions

✨ What Makes WeWrite Special

  • πŸ“ Collaborative Writing - Create and edit pages together
  • πŸ’° Direct USD Payments - Support creators with transparent monthly funding
  • πŸ”— Smart Linking - Connect ideas across the platform
  • πŸŒ™ Beautiful Interface - Clean, modern design with dark mode
  • πŸ”’ Secure & Private - Your data is protected and encrypted

πŸš€ Quick Start

WeWrite is built with Next.js and uses modern web technologies for optimal performance.

Prerequisites

  • Node.js 18+
  • pnpm (preferred package manager)

Installation

# Install pnpm if you don't have it
npm install -g pnpm

# Clone the repository
git clone https://github.com/WeWriteApp/WeWrite.git
cd WeWrite

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration

# Run the development server
pnpm dev

Open http://localhost:3000 to see WeWrite in action! πŸŽ‰

πŸ“š Documentation

🎯 Essential Documentation (Start Here)

Core System Understanding

Quick Start Guides

πŸ”’ Security & Core Systems (Essential Reading)

πŸ’° Financial System

Payment & Subscription

Allocation & Earnings

Testing & Troubleshooting

πŸ—οΈ System Architecture

Core Architecture

Specialized Systems

πŸ”§ Development & Operations

Development Workflow

Standards & Guidelines

πŸ“± Features & User Experience

Content Features

Note: As of August 2025, duplicate title prevention has been removed to allow for a more forgiving approach. Future implementations will include merging of detected duplicates or construction of timelines of ordered duplicates.

User Interface

⚑ Performance & Optimization

🚨 Troubleshooting & Support

Issue Resolution

Maintenance & Cleanup

πŸ“¦ Archive & Historical

Completed Work

  • Archive - ⭐ REFERENCE - Completed migrations, optimization summaries, and historical documentation
  • USD Migration Guide - βœ… COMPLETED - USD system migration documentation

Deprecated (Reference Only)

πŸ› οΈ Technology Stack

Core Technologies

  • βš›οΈ Next.js 14 - React framework with App Router
  • πŸ”₯ Firebase - Backend-as-a-Service platform
  • 🎨 Tailwind CSS - Utility-first CSS framework
  • πŸ“ Slate.js - Customizable rich text editor framework
  • πŸ’³ Stripe - Payment processing and subscriptions

Firebase Services

  • πŸ—„οΈ Firestore - NoSQL document database for pages, users, and versions
  • πŸ” Authentication - Email/password authentication with session management
  • ☁️ Functions - Serverless functions for webhooks and background processing
  • πŸ“ Storage - File storage for images and attachments

Development & Deployment

  • πŸ“¦ pnpm - Fast, disk space efficient package manager
  • πŸš€ Vercel - Deployment platform with automatic CI/CD
  • πŸ“Š LogRocket - Session replay and error tracking
  • πŸ” TypeScript - Type-safe JavaScript development

Key Features

  • πŸŒ™ Dark Mode - System-aware theme switching
  • πŸ“± Responsive Design - Mobile-first responsive interface
  • πŸ”— Smart Linking - Automatic page linking and backlinks
  • πŸ’° USD Creator Support - Direct USD payments to creators with transparent monthly funding
  • πŸ”’ Security - Comprehensive security measures and data protection

πŸ“ Project Structure

WeWrite/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ api/               # API routes and endpoints
β”‚   β”œβ”€β”€ auth/              # Authentication pages
β”‚   β”œβ”€β”€ components/        # Reusable UI components
β”‚   β”œβ”€β”€ contexts/          # React contexts for global state
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ lib/               # Utility libraries and helpers
β”‚   β”œβ”€β”€ providers/         # Context providers
β”‚   β”œβ”€β”€ settings/          # User settings pages
β”‚   └── utils/             # Utility functions
β”œβ”€β”€ docs/                  # Technical documentation
β”œβ”€β”€ public/                # Static assets
└── functions/             # Firebase Cloud Functions

Key Directories

  • app/ - Next.js 14 App Router with file-based routing
  • app/components/ - Reusable UI components organized by feature
  • app/api/ - API routes for backend functionality
  • docs/ - Comprehensive technical documentation
  • functions/ - Firebase Cloud Functions for webhooks and background tasks

πŸš€ Deployment

Automatic Deployment

WeWrite uses Vercel for automatic deployment:

  • Production: Deploys from main branch to wewrite.app
  • Preview: Deploys from dev branch for testing
  • Environment Variables: Configured in Vercel dashboard

Local Development Environment

WeWrite uses branch-aware environment detection for local development:

  • Main branch (main): Uses production collections - connects to real data
  • Dev branch (dev): Uses dev collections (DEV_* prefix) - isolated test data
  • Other branches: Uses dev collections (safe default) - isolated test data

This ensures you can test against production data when needed (main branch) while keeping development work safely isolated (dev branch).

Manual Deployment

# Build for production
pnpm build

# Deploy to Vercel
pnpm deploy

For detailed deployment procedures, see PRODUCTION_DEPLOYMENT_GUIDE.

🀝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Follow our coding standards (see documentation)
  4. Write tests for new functionality
  5. Submit a pull request

Development Guidelines

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ’¬ Support


Made with ❀️ by the WeWrite team

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 7