Skip to content

Latest commit

 

History

History
114 lines (84 loc) · 2.63 KB

README.md

File metadata and controls

114 lines (84 loc) · 2.63 KB

Intersect Workshops

A Next.js application for managing decentralized workshops and voting processes using Web3Auth and Cardano blockchain integration.

Features

  • 🔐 Secure authentication with NextAuth.js and Web3Auth
  • 🗳️ Decentralized voting system with Cardano blockchain integration
  • 📊 Workshop management and registration system
  • 📧 Email notifications with customizable templates
  • 🔒 End-to-end encryption for sensitive data
  • 🌐 Built with modern web technologies

Tech Stack

Getting Started

Prerequisites

  • Node.js 16.x or later
  • PostgreSQL database
  • SMTP server for email notifications
  • Web3Auth account
  • Blockfrost API key (for Cardano integration)

Environment Variables

Create a .env file in the root directory with the following variables:

# Database
POSTGRES_PRISMA_URL=
POSTGRES_URL_NON_POOLING=

# Authentication
JWT_PRIVATE_KEY=
JWT_PUBLIC_KEY=
SECRET=

# Email
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=

# Blockchain
WEB3AUTH_CLIENT_ID=
BLOCKFROST_KEY=
BLOCKFROST_URL=

# Security
ENCRYPTION_KEY=

Installation

  1. Clone the repository:
git clone https://github.com/ADAO-Summon/ranked-choice-vote.git
cd ranked-choice-vote
  1. Install dependencies:
npm install
  1. Set up the database:
npx prisma generate
npx prisma db push
  1. Run the development server:
npm run dev

Security Considerations

  • All sensitive data is encrypted at rest using AES-256-CBC
  • JWT tokens are signed using RS256 algorithm
  • Email verification required for all accounts
  • Rate limiting on API endpoints
  • Input validation and sanitization
  • Session management with secure cookies
  • Environment variables for all sensitive configurations

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

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

Acknowledgments

  • Web3Auth for blockchain authentication
  • Cardano blockchain community
  • All contributors who have helped shape this project

Support

For support, please open an issue in the GitHub repository or contact the maintainers.