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.
- 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
- Frontend: Nuxt 3
- Backend: Nodejs + Prisma + tRPC
- UI Components: Vue Shadcn
- Styling: TailwindCSS
- Form Handling: VeeValidate + Zod
- Mac: Trae IDE, Windows: Cursor IDE
- Prettier Extension
- Git
- NVM - to install specific Node.js version
- PNPM - package manager
- Clone the repository
git clone git@github.com:wedance/v4.git
cd v4
- Configure
Copy env file and provide configuration:
cp .env.example .env
cp cli/.env.example cli/.env
- Build
make build
- Run development server
pnpm dev
- 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
- uncomment
After cloning the repository, open it in Cursor IDE for an AI-first development experience:
- Toggle AI Pane (Cmd + I)
- Go to Cursor Settings -> Models -> Check "claude-3-5-sonnet-20241022"
- Open Composer Tab
- Switch model to "claude-3-5-sonnet-20241022"
- Switch to agent
- 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.
/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
-
Follow the Vue file organization rules:
<script>
section at the top<template>
section in the middle<style>
section at the bottom
-
Use the provided tools and conventions:
- TailwindCSS for styling
- Vue Shadcn for components
- VeeValidate and Zod for form validation
[License Information]