Files
lynn-come-out/README.md
2025-10-12 20:08:46 +00:00

2.1 KiB

lynn-come-out

lynn come out

🌈 The Ugliest Website Ever! 🌈

A beautifully ugly website where people can sign in with Slack and sign a petition for Lynn to come out!

Features

  • 🎨 Intentionally terrible design (Comic Sans, rainbow backgrounds, spinning animations!)
  • 🔐 Slack OAuth sign-in
  • ✍️ Signature collection system
  • 📊 Real-time signature counter
  • 💾 Persistent storage of signatures

Setup Instructions

  1. Install dependencies:

    npm install
    
  2. Set up Slack App:

    • Go to https://api.slack.com/apps
    • Create a new app
    • Under "OAuth & Permissions", add redirect URL: http://localhost:3000/auth/slack/callback
    • Under "OAuth & Permissions" > "Scopes", add these scopes:
      • identity.basic
      • identity.avatar
    • Copy your Client ID and Client Secret
  3. Configure environment variables:

    cp .env.example .env
    

    Edit .env and add your Slack credentials:

    SLACK_CLIENT_ID=your_slack_client_id_here
    SLACK_CLIENT_SECRET=your_slack_client_secret_here
    SLACK_REDIRECT_URI=http://localhost:3000/auth/slack/callback
    SESSION_SECRET=your_random_session_secret_here
    PORT=3000
    
  4. Start the server:

    npm start
    
  5. Open your browser: Navigate to http://localhost:3000 and enjoy the ugliest website ever! 🎉

How It Works

  1. Users click "SIGN IN WITH SLACK" 🔐
  2. They authenticate with their Slack account
  3. Once signed in, they can sign the petition ✍️
  4. Signatures are stored persistently and displayed on the page
  5. Each user can only sign once

Files

  • server.js - Express server with Slack OAuth and signature handling
  • package.json - Dependencies and scripts
  • .env.example - Example environment variables
  • signatures.json - Stored signatures (created automatically)

Notes

  • The website is intentionally designed to be as ugly as possible with clashing colors, Comic Sans, spinning animations, and more!
  • Signatures are stored in a JSON file (signatures.json)
  • Each user can only sign once (tracked by Slack user ID)