SkillAgentSearch skills...

ZotMeet

Coordinating meetings and so much more

Install / Use

/learn @icssc/ZotMeet
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

About

Simple, clean, and efficient meeting scheduling app.

Tech Stack

Contributing

Project Structure

├── README.md
├── drizzle.config.ts
├── next.config.mjs
├── node_modules
├── package.json
├── src
│   ├── app
│   │   └── [ all front-end routes ]
│   ├── components
│   │   └── [ front-end components ]
│   ├── db
│   │   ├── index.ts
│   │   ├── migrations
│   │   └── schema.ts
│   ├── lib
│   └── server
│       ├── actions ( mutate or insert data )
│       │       └── [ entity ]
│       │           └── [ verb ]
│       │               └── action.ts
│       └── data ( query data )
│           └── [ entity ]
│               └── queries.ts
└── tsconfig.json

Local Development

Prerequisites

Local Setup

  1. Clone this repository locally
  2. Navigate to the root directory and install the dependencies.
    1. cd ZotMeet
    2. pnpm install
  3. Copy the example environment file:
    cp .env.example .env
    
  4. Make sure Docker Desktop is running, then set up the database:
    pnpm db:setup
    
  5. Start the development server
    1. pnpm dev (run pnpm dev --host if you want to access the server from other devices on your network)
  6. The app should be viewable at localhost:3000 by default.

Database Commands

| Command | Description | |---------|-------------| | pnpm db:setup | Start database and run migrations (first time setup) | | pnpm db:start | Start the PostgreSQL container | | pnpm db:stop | Stop the PostgreSQL container (data persists) | | pnpm db:reset | Reset database - removes all data and re-runs migrations | | pnpm db:generate | Generate new migrations from schema changes | | pnpm db:migrate | Apply pending migrations | | pnpm db:studio | Open Drizzle Studio to browse your database |

Committing Changes

  • Follow the Conventional Commits specification when writing commit messages.
    • E.g., git commit -m "feat: add this feature"; git commit -m "fix: fix this bug".
  • Keep commits and PRs atomic.
    • A PR should be a single feature or bug fix.
    • A commit should be a single logical change.

Environment Variables

If you need credentials for the .env file, contact the project lead (Kyle).

After changes to the .env file, run pnpm run check to update SvelteKit's auto-generated environment variable types.

Database Schema

erDiagram
    users {
        string id PK, FK
        string email
        string passwordHash
        timestamp createdAt
    }
    groups {
        uuid id PK
        string name
        string description
        timestamp createdAt
        string createdBy FK
    }
    usersInGroup {
        string userId FK
        uuid groupId FK
    }
    members {
        uuid id PK
        string displayName
    }
    availability {
        uuid memberId FK
        uuid meetingId FK
        json meetingAvailabilities
        enum status
    }
    meeting {
        uuid id PK
        string title
        string description
        string location
        json dates
        string meetingType
        boolean scheduled
        time fromTime
        time toTime
        string timezone
        uuid groupId FK
        uuid hostId FK
        timestamp createdAt
    }
    sessions {
        string id PK
        timestamp expiresAt
        string userId FK
        string googleAccessToken
        string googleRefreshToken
        timestamp googleAccessTokenExpiresAt
    }
    oauth_accounts {
        string userId FK
        string providerId PK
        string providerUserId PK
    }

    meeting ||--o{ availability : has
    users ||--o{ usersInGroup : has
    groups ||--o{ usersInGroup : contains
    members ||--o| users : extends
    members ||--o{ availability : provides
    users ||--o{ sessions : has
    users ||--o{ oauth_accounts : has

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated1d ago
Forks2

Languages

TypeScript

Security Score

75/100

Audited on Mar 30, 2026

No findings