Skip to content

This solution has been developed for voting at intersect workshops.

License

Notifications You must be signed in to change notification settings

cypher-enterprises/ranked-choice-vote

Repository files navigation

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.

About

This solution has been developed for voting at intersect workshops.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published