Skip to content

we-dance/v4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeDance

WeDance is a participatory network that empowers dance communities by providing an inclusive platform where every member can be both creator and participant. Moving beyond traditional social networks, it creates a truly collaborative ecosystem that solves critical challenges like information fragmentation, event discovery, and partner finding.

🎯 Mission

  • Transform traditional consumer-creator relationships into collaborative partnerships
  • Enable democratic access where anyone can organize events or share knowledge
  • Create value alignment through transparent, community-driven governance
  • Foster bidirectional creation where every member can be both teacher and student

🌟 Tech Stack

  • Frontend: Nuxt 3
  • Backend: Nodejs + Prisma + tRPC
  • UI Components: Vue Shadcn
  • Styling: TailwindCSS
  • Form Handling: VeeValidate + Zod

📦 Prerequisites

🛠️ Setup

  1. Clone the repository
git clone git@github.com:wedance/v4.git
cd v4
  1. Configure

Copy env file and provide configuration:

cp .env.example .env
cp cli/.env.example cli/.env
  1. Build
make build
  1. Run development server
pnpm dev

Troubleshooting

  • Error 500: Invalid prisma.$queryRaw() invocation: Raw query failed. Code: 42883. Message: ERROR: function ll_to_earth(numeric, numeric) does not exist HINT: No function matches the given name and argument types. You might need to add explicit type casts.
    • install db extensions, repeat setup
  • pnpm cli import - Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
    • uncomment tsconfig.json

📁 AI-First Development

After cloning the repository, open it in Cursor IDE for an AI-first development experience:

  1. Toggle AI Pane (Cmd + I)
  2. Go to Cursor Settings -> Models -> Check "claude-3-5-sonnet-20241022"
  3. Open Composer Tab
  4. Switch model to "claude-3-5-sonnet-20241022"
  5. Switch to agent
  6. Say "hi" to start your onboarding

After your onboarding round complete, you type "hi" and get the following prompt:

Would you like to:

1. Review today's priorities?
2. Check pending decisions?
3. Get updates on recent changes?
4. Switch to a specific expert?

We don't use any ticketing system, AI will tell you what to do next. AI will act like your personal secretary, answer any questions about business, design, architecture, etc.

📁 Project Structure

  • /components - Reusable Vue components
  • /content - Markdown content and documentation
  • /docs - Project documentation
  • /pages - Application routes
  • /stores - Pinia state stores
  • /composables - Vue composables
  • /server - Server-side code
  • /types - TypeScript type definitions
  • /utils - Utility functions
  • /schemas - Zod validation schemas

Documentation

Business

Design Challenges

Architecture

User Flows

Resources

Implementation

🤝 Contributing

  1. Follow the Vue file organization rules:

    • <script> section at the top
    • <template> section in the middle
    • <style> section at the bottom
  2. Use the provided tools and conventions:

    • TailwindCSS for styling
    • Vue Shadcn for components
    • VeeValidate and Zod for form validation

📄 License

[License Information]