0xmcc eventful-communities .cursorrules file for TypeScript

# Cursor Rules for Vently Project

## Project Overview

*   **Project Name:** Vently

*   **Description:** Vently is a dynamic, mobile-friendly platform designed to centralize event promotion and engagement within communities. It features a user-friendly interface that allows users to discover events through a map, engage with communities, purchase tickets, and participate in discussions.

*   **Tech Stack:**

    *   Frontend: ReactJS
    *   Styling: Tailwind CSS
    *   Backend & Database: Supabase
    *   Payment Integration: Stripe
    *   Location Services: Google Maps API

*   **Key Features:**

    *   Interactive event map with clickable pins for event discovery.
    *   Event and community management capabilities.
    *   Secure ticket purchasing with payment gateway integration.
    *   User roles for Regular Users, Event Organizers, and Community Admins.

## Project Structure

*   **Root Directory:** Contains the main configuration files and documentation.

*   `/frontend/`: All frontend-related code.

    *   `/components/`:

        *   `MapView`: Displays events on a map.
        *   `EventCard`: Presents event details.
        *   `CommunityList`: Displays a list of communities.
        *   Other UI components as necessary.

    *   `/assets/`:

        *   Event images and icons.
        *   Community profile pictures.

    *   `/styles/`:

        *   Global styles utilizing Tailwind CSS.

*   `/backend/`: All backend-related code.

    *   `/controllers/`: Handles CRUD operations for events and community entities.
    *   `/models/`: Schema definitions for Events, Tickets, Users, and Communities.
    *   `/routes/`: API endpoints for frontend-backend communication.

*   `/config/`: Configuration files for environment variables and application settings.

*   `/tests/`: Unit and integration tests for frontend and backend modules.

## Development Guidelines

*   **Coding Standards:**

    *   Follow the Airbnb React/JSX Style Guide for JavaScript and React components.
    *   Consistent use of `eslint` for styling and error prevention.
    *   Component files should be organized by feature or route for clarity.

*   **Component Organization:**

    *   Each component should be modular, maintaining a single responsibility principle.
    *   Utilize context API or third-party state management tools where appropriate.

## Cursor IDE Integration

*   **Setup Instructions:**

    *   Clone the repository locally.
    *   Run `npm install` to set up dependencies.
    *   Start the development environment with `npm start` for frontend and backend servers.

*   **Key Commands:**

    *   `npm run test` to run tests.
    *   Use the built-in tools of Cursor AI for real-time code suggestions and modifications.

## Additional Context

*   **User Roles:**

    *   Regular Users: Can browse events and communities, RSVP, and purchase tickets.
    *   Event Organizers: Can create and manage events, access to event-related analytics (future feature).
    *   Community Admins: Manage community settings and moderate content.

*   **Accessibility Considerations:**

    *   Use ARIA roles to enhance component accessibility.
    *   Ensure color contrast meets WCAG standards for the synthe purple theme.
analytics
css
eslint
golang
html
java
javascript
npm
+5 more

First Time Repository

TypeScript

Languages:

CSS: 3.2KB
HTML: 0.6KB
JavaScript: 3.1KB
TypeScript: 364.7KB
Created: 1/15/2025
Updated: 1/21/2025

All Repositories (1)