Skip to content

Commit 23aa8c7

Browse files
authored
Merge pull request #213 from techulus/main
Simplify to focus on self hosting
2 parents 4d313ea + 671d8b5 commit 23aa8c7

97 files changed

Lines changed: 2330 additions & 12744 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Database
2+
DATABASE_URL=postgres://managee:password@localhost:5432/managee
3+
4+
# Application
5+
NEXT_PUBLIC_APP_URL=http://localhost:3000
6+
7+
# Better Auth
8+
BETTER_AUTH_SECRET=generate-a-random-secret-here
9+
BETTER_AUTH_URL=http://localhost:3000
10+
11+
# Set to "true" to disable new user signups (existing users can still sign in)
12+
# DISABLE_SIGNUPS=true
13+
14+
# Email (Resend)
15+
RESEND_API_KEY=re_xxxxx
16+
EMAIL_FROM="Manage <noreply@yourdomain.com>"
17+
18+
# S3-compatible storage (MinIO for self-hosted)
19+
S3_ENDPOINT=http://localhost:9000
20+
S3_ACCESS_KEY_ID=minioadmin
21+
S3_SECRET_ACCESS_KEY=minioadmin
22+
S3_BUCKET_NAME=managee
23+
S3_REGION=us-east-1
24+
25+
# Optional: TurboWire for real-time notifications
26+
# TURBOWIRE_URL=wss://your-turbowire-instance
27+
# TURBOWIRE_SECRET=your-secret
28+
29+
# Optional: Sentry for error tracking
30+
# SENTRY_DSN=your-dsn
31+
# SENTRY_AUTH_TOKEN=your-token

.github/workflows/migrate-ops.yml

Lines changed: 0 additions & 71 deletions
This file was deleted.

.github/workflows/migrate-tenants.yml

Lines changed: 0 additions & 73 deletions
This file was deleted.

.github/workflows/post-upgrade-maintenance.yml

Lines changed: 0 additions & 65 deletions
This file was deleted.

CLAUDE.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77
- **Framework**: Next.js 16 with App Router
88
- **Language**: TypeScript
99
- **Database**: PostgreSQL with Drizzle ORM
10-
- **Authentication**: Clerk (with organization support)
10+
- **Authentication**: Better-auth
1111
- **Styling**: Tailwind CSS + Shadcn
1212
- **Real-time**: TurboWire for WebSockets
1313
- **Email**: React Email + Resend
1414
- **File Storage**: S3-compatible storage
15-
- **Search**: Upstash Search for full-text search with filtering
1615
- **Monitoring**: Sentry
1716
- **Linting**: Biome
1817
- Bun as the runtime and package manager

README.md

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,12 @@
44

55
Manage is an open-source project management platform. With its intuitive interface, customizable features, and emphasis on collaboration, Manage empowers teams to enhance productivity and achieve project success. Enjoy the benefits of open-source flexibility, data security, and a thriving community while managing your projects efficiently with Manage.
66

7-
> **Warning**
8-
> This app is a work in progress. I'm building this in public. You can follow the progress on Twitter [@arjunz](https://twitter.com/arjunz).
9-
> See the roadmap below.
10-
11-
## V1 Roadmap
12-
13-
- [x] Basic Project management
14-
- [x] Task lists and tasks
15-
- [x] Files - Uploading and sharing files
16-
- [x] Comments
17-
- [x] Events / Calendar
18-
- [x] Activity logs
19-
- [x] Search
20-
- [x] Permissions
21-
- [x] Notifications
22-
- [x] Posts
23-
247
## Development
258

269
### Environment
2710

2811
```
29-
# Auth
30-
NEXT_PUBLIC_APP_URL=
31-
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
32-
CLERK_SECRET_KEY=
33-
34-
# Database
35-
DATABASE_URL=
36-
37-
# Any S3 compatible storage
38-
S3_ENDPOINT="
39-
S3_ACCESS_KEY_ID=""
40-
S3_SECRET_ACCESS_KEY=""
41-
S3_BUCKET_NAME=""
42-
43-
# TurboWire for Websockets
44-
TURBOWIRE_DOMAIN=
45-
TURBOWIRE_SIGNING_KEY=
46-
TURBOWIRE_BROADCAST_KEY=
47-
48-
# Email
49-
RESEND_API_KEY=
50-
51-
# Workflows
52-
QSTASH_URL=
53-
QSTASH_TOKEN=
54-
QSTASH_CURRENT_SIGNING_KEY=
55-
QSTASH_NEXT_SIGNING_KEY=
12+
# See .env.example for all available environment variables
5613
```
5714

5815
### Run using Docker

app/(api)/api/calendar/[ownerId]/[projectId]/route.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { calendarEvent, project, task, taskList, user } from "@/drizzle/schema";
2-
import { getDatabaseForOwner } from "@/lib/utils/useDatabase";
2+
import { database } from "@/lib/utils/useDatabase";
33
import { and, desc, eq, lte } from "drizzle-orm";
44
import ical, { ICalCalendarMethod } from "ical-generator";
55
import type { NextRequest } from "next/server";
@@ -15,9 +15,9 @@ export async function GET(
1515
) {
1616
const params = await props.params;
1717
const searchParams = request.nextUrl.searchParams;
18-
const { projectId, ownerId } = params;
18+
const { projectId } = params;
1919

20-
const db = await getDatabaseForOwner(ownerId);
20+
const db = database();
2121

2222
let timezone: string | undefined | null;
2323
const userId = searchParams.get("userId");
@@ -99,7 +99,7 @@ export async function GET(
9999
end: timezone
100100
? task.dueDate.toLocaleString("en-US", { timeZone: timezone })
101101
: task.dueDate,
102-
summary: `[${tasklist.name}] ${task.name}`,
102+
summary: `[${tasklist.name}] ${task.name}`,
103103
description: `${task.description}`,
104104
allDay: true,
105105
created: task.createdAt,

0 commit comments

Comments
 (0)