Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .agentrix/index.db
Binary file not shown.
13 changes: 13 additions & 0 deletions .agentrix/journal/003147badac2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "003147badac2",
"workspace": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya",
"ops": [
{
"kind": "edit",
"path": "README.md",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\003147badac2\\blobs\\38022856e33b4215ab0cbc04589433ae-README.md",
"after_preview": "",
"ts": 1777835831072
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# Signifiya

**Signifiya** is the annual techfest of the **School of Engineering & Technology (SOET), Adamas University**. It brings together students from across the country for hackathons, coding events, workshops, quizzes, and more.

This repository is the official web app for Signifiya: event registration, visitor passes, team management, and the admin panel for organisers.

**Tech:** [Next.js](https://nextjs.org), [Better Auth](https://www.better-auth.com), [Prisma](https://www.prisma.io), [Upstash](https://upstash.com).

---

## Prerequisites

- **Node.js** 18+
- **PostgreSQL**
- **Upstash Redis** (rate limiting)
- **Supabase** or S3-compatible storage (avatars, uploads)

---

## Getting started

### 1. Install

```bash
npm install
```

### 2. Environment variables

Copy the example and fill in your values:

```bash
cp .env.example .env
```

**Required for development:**

| Variable | Purpose |
|----------|---------|
| `DATABASE_URL` | PostgreSQL connection string |
| `DIRECT_URL` | Direct DB URL (e.g. for migrations) |
| `BETTER_AUTH_URL` | App URL (e.g. `http://localhost:3000`) |
| `BETTER_AUTH_SECRET` | Auth signing secret (see below) |
| `ADMIN_EMAILS` | Comma-separated admin emails |
| `UPSTASH_REDIS_REST_URL` | Upstash Redis REST URL |
| `UPSTASH_REDIS_REST_TOKEN` | Upstash Redis token |

**`BETTER_AUTH_SECRET`** — generate a random value (min 32 chars):

```bash
openssl rand -base64 32
```

Put the output in `.env` as `BETTER_AUTH_SECRET=...`.

**Optional:** Google/GitHub OAuth (`GOOGLE_*`, `GITHUB_*`), Supabase/S3 for uploads (`NEXT_PUBLIC_SUPABASE_URL`, `S3_*`). See `.env.example` for the full list.

### 3. Database

```bash
npx prisma generate
npx prisma migrate dev
```

### 4. Run

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000).

---

## Scripts

| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server |
| `npm run build` | Production build |
| `npm run start` | Start production server |

`prisma generate` runs automatically after `npm install`.

---

## Deploy on Vercel

### 1. Push to GitHub and import the project in [Vercel](https://vercel.com/new).

### 2. Environment variables

In **Project → Settings → Environment Variables**, add at least:

- `DATABASE_URL`, `DIRECT_URL`
- `BETTER_AUTH_URL` = `https://your-domain.vercel.app`
- `NEXT_PUBLIC_BETTER_AUTH_URL` = `https://your-domain.vercel.app`
- `BETTER_AUTH_SECRET` — generate with `openssl rand -base64 32`
- `ADMIN_EMAILS`
- `UPSTASH_REDIS_REST_URL`, `UPSTASH_REDIS_REST_TOKEN`
- Supabase/S3 vars if you use avatars or uploads

### 3. Database

Before or on first deploy, run migrations against production:

```bash
npx prisma migrate deploy
```

Use the production `DATABASE_URL` (e.g. set it in the shell or in a one-off deploy step).

### 4. OAuth (if used)

In Google/GitHub app settings, set:

- `https://your-domain.vercel.app/api/auth/callback/google`
- `https://your-domain.vercel.app/api/auth/callback/github`

### 5. Deploy

Trigger a deploy. Ensure `BETTER_AUTH_URL` and `NEXT_PUBLIC_BETTER_AUTH_URL` match your live URL so auth callbacks work.

---

## Project structure

- `src/app/` — App Router pages and API
- `src/app/admin/` — Admin (teams, events, revenue, issues, users)
- `src/app/api/auth/` — Better Auth API
- `src/components/` — Shared UI
- `src/lib/` — Auth, DB, S3, utils
- `src/proxy.ts` — Rate limiting (auth, register, events, contact)
- `prisma/` — Schema and migrations

---

## Learn more

- [Next.js](https://nextjs.org/docs)
- [Better Auth](https://www.better-auth.com/docs)
- [Prisma](https://www.prisma.io/docs)
- [Vercel deployment](https://nextjs.org/docs/app/building-your-application/deploying)


this is so cool
13 changes: 13 additions & 0 deletions .agentrix/journal/0115416306fe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "0115416306fe",
"workspace": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya",
"ops": [
{
"kind": "write",
"path": "README.md",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\0115416306fe\\blobs\\6146e9ca0b0149958835699ce6c748a8-README.md",
"after_preview": "# Signifiya Web App\n\nThis repository contains the official web application for **Signifiya**, the annual technology festival of the **School of Engineering & Te",
"ts": 1777899194685
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Signifiya


**Signifiya** is the annual techfest of the **School of Engineering & Technology (SOET), Adamas University**. It brings together students from across the country for hackathons, coding events, workshops, quizzes, and more.

This repository is the official web app for Signifiya: event registration, visitor passes, team management, and the admin panel for organisers.

**Tech:** [Next.js](https://nextjs.org), [Better Auth](https://www.better-auth.com), [Prisma](https://www.prisma.io), [Upstash](https://upstash.com).

---

## Prerequisites

- **Node.js** 18+
- **PostgreSQL**
- **Upstash Redis** (rate limiting)
- **Supabase** or S3-compatible storage (avatars, uploads)

---

## Getting started

### 1. Install

```bash
npm install
```

### 2. Environment variables

Copy the example and fill in your values:

```bash
cp .env.example .env
```

**Required for development:**

| Variable | Purpose |
|----------|---------|
| `DATABASE_URL` | PostgreSQL connection string |
| `DIRECT_URL` | Direct DB URL (e.g. for migrations) |
| `BETTER_AUTH_URL` | App URL (e.g. `http://localhost:3000`) |
| `BETTER_AUTH_SECRET` | Auth signing secret (see below) |
| `ADMIN_EMAILS` | Comma-separated admin emails |
| `UPSTASH_REDIS_REST_URL` | Upstash Redis REST URL |
| `UPSTASH_REDIS_REST_TOKEN` | Upstash Redis token |

**`BETTER_AUTH_SECRET`** — generate a random value (min 32 chars):

```bash
openssl rand -base64 32
```

Put the output in `.env` as `BETTER_AUTH_SECRET=...`.

**Optional:** Google/GitHub OAuth (`GOOGLE_*`, `GITHUB_*`), Supabase/S3 for uploads (`NEXT_PUBLIC_SUPABASE_URL`, `S3_*`). See `.env.example` for the full list.

### 3. Database

```bash
npx prisma generate
npx prisma migrate dev
```

### 4. Run

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000).

---

## Scripts

| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server |
| `npm run build` | Production build |
| `npm run start` | Start production server |

`prisma generate` runs automatically after `npm install`.

---

## Deploy on Vercel

### 1. Push to GitHub and import the project in [Vercel](https://vercel.com/new).

### 2. Environment variables

In **Project → Settings → Environment Variables**, add at least:

- `DATABASE_URL`, `DIRECT_URL`
- `BETTER_AUTH_URL` = `https://your-domain.vercel.app`
- `NEXT_PUBLIC_BETTER_AUTH_URL` = `https://your-domain.vercel.app`
- `BETTER_AUTH_SECRET` — generate with `openssl rand -base64 32`
- `ADMIN_EMAILS`
- `UPSTASH_REDIS_REST_URL`, `UPSTASH_REDIS_REST_TOKEN`
- Supabase/S3 vars if you use avatars or uploads

### 3. Database

Before or on first deploy, run migrations against production:

```bash
npx prisma migrate deploy
```

Use the production `DATABASE_URL` (e.g. set it in the shell or in a one-off deploy step).

### 4. OAuth (if used)

In Google/GitHub app settings, set:

- `https://your-domain.vercel.app/api/auth/callback/google`
- `https://your-domain.vercel.app/api/auth/callback/github`

### 5. Deploy

Trigger a deploy. Ensure `BETTER_AUTH_URL` and `NEXT_PUBLIC_BETTER_AUTH_URL` match your live URL so auth callbacks work.

---

## Project structure

- `src/app/` — App Router pages and API
- `src/app/admin/` — Admin (teams, events, revenue, issues, users)
- `src/app/api/auth/` — Better Auth API
- `src/components/` — Shared UI
- `src/lib/` — Auth, DB, S3, utils
- `src/proxy.ts` — Rate limiting (auth, register, events, contact)
- `prisma/` — Schema and migrations

---

## Learn more

end of readme

- [Next.js](https://nextjs.org/docs)
- [Better Auth](https://www.better-auth.com/docs)
- [Prisma](https://www.prisma.io/docs)
- [Vercel deployment](https://nextjs.org/docs/app/building-your-application/deploying)



13 changes: 13 additions & 0 deletions .agentrix/journal/0d555d20797e.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "0d555d20797e",
"workspace": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya",
"ops": [
{
"kind": "create",
"path": "README.md",
"before_blob_path": null,
"after_preview": "# Signifiya \u2013 Official Techfest Platform\n\nSignifiya is the official full-stack platform powering the national-level techfest of the **School of Engineering & Te",
"ts": 1778009642337
}
]
}
5 changes: 5 additions & 0 deletions .agentrix/journal/0edfa1b9df29.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"id": "0edfa1b9df29",
"workspace": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya",
"ops": []
}
48 changes: 48 additions & 0 deletions .agentrix/journal/102582c87398.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"id": "102582c87398",
"workspace": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya",
"ops": [
{
"kind": "delete",
"path": "src/app/events/page.tsx",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\2304492fc4b844de9621edeb484c8f20-page.tsx",
"after_preview": "",
"ts": 1777559726339
},
{
"kind": "delete",
"path": "src/components/Events.tsx",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\09815bf33f884f1088c0187a9cb584e1-Events.tsx",
"after_preview": "",
"ts": 1777559734485
},
{
"kind": "delete",
"path": "src/components/Events-Pass.tsx",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\9df2ca8130a048f78744d91135e5e309-Events-Pass.tsx",
"after_preview": "",
"ts": 1777559735735
},
{
"kind": "delete",
"path": "src/app/admin/events/page.tsx",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\ec2b76768edb4589890561f31bb3e57b-page.tsx",
"after_preview": "",
"ts": 1777559737154
},
{
"kind": "delete",
"path": "src/app/admin/events/[id]/page.tsx",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\61e8f9a8c1f74055918ae7d23b477b82-page.tsx",
"after_preview": "",
"ts": 1777559738052
},
{
"kind": "delete",
"path": "public/events-pg.jpg",
"before_blob_path": "C:\\Users\\ARYADEEP\\Desktop\\Signifiya\\.agentrix\\journal\\102582c87398\\blobs\\08dce52494b2418b956bf5509284d062-events-pg.jpg",
"after_preview": "",
"ts": 1777559738906
}
]
}
File renamed without changes
File renamed without changes.
File renamed without changes.
Loading