Skip to content
Open

deploy #1009

Show file tree
Hide file tree
Changes from 100 commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
d2689bd
Fix Redis env var name from REDIS_HOST to REDIS_DB_NAME
oliursahin Apr 28, 2025
4db9740
Replace agent route with objects page and update sidebar navigation icon
oliursahin Apr 28, 2025
75d42c7
Add daily notes component and update agenda layout
oliursahin Apr 28, 2025
e6704a4
feat: imp JournalPage
sajdakabir Apr 30, 2025
bcc020a
fix: build error
sajdakabir Apr 30, 2025
4128771
Merge pull request #996 from marchhq/sajda-dev
sajdakabir Apr 30, 2025
148f04c
Add task list feature with checkbox support and update default daily …
oliursahin Apr 30, 2025
2822a0e
feat: imp date base journal
sajdakabir May 1, 2025
512bc5a
Merge branch 'feat-agenda' of github.com:marchhq/march into sajda-dev
sajdakabir May 1, 2025
5cce50d
Merge pull request #998 from marchhq/sajda-dev
sajdakabir May 1, 2025
fe64e48
feat: added cal
sajdakabir May 1, 2025
80a183f
feat: selete month and year
sajdakabir May 1, 2025
c3baa6b
Merge pull request #999 from marchhq/sajda-dev
sajdakabir May 1, 2025
5a187fe
feat: blue dots on notes under date
sajdakabir May 1, 2025
c157ef3
fix: build error
sajdakabir May 1, 2025
ced1316
Merge pull request #1000 from marchhq/sajda-dev
sajdakabir May 1, 2025
4b33bae
feat: added success msg
sajdakabir May 1, 2025
b9327b1
Merge pull request #1001 from marchhq/sajda-dev
sajdakabir May 1, 2025
6250638
feat: all the scheduled objects of that day
sajdakabir May 2, 2025
1b25c07
Merge pull request #1002 from marchhq/sajda-dev
sajdakabir May 2, 2025
4f04827
chore: update default port from 8080 to 3000 and use nullish coalesci…
oliursahin May 9, 2025
a93c9da
Merge pull request #1004 from marchhq/ci-deploy
oliursahin May 9, 2025
1740217
Revert "chore: update default port from 8080 to 3000 and use nullish …
oliursahin May 9, 2025
871e804
Merge pull request #1005 from marchhq/revert-1004-ci-deploy
oliursahin May 9, 2025
fb63b8f
Fix: Update server to listen on 0.0.0.0 to accept connections from an…
oliursahin May 9, 2025
9f3cd0f
Merge pull request #1006 from marchhq/ci-deploy
oliursahin May 9, 2025
a6440fb
fix: replace nullish coalescing with logical OR for PORT env var fall…
oliursahin May 10, 2025
1d356f8
Merge branch 'preview' of https://github.com/marchhq/march into ci-de…
oliursahin May 10, 2025
e49ce35
Merge pull request #1007 from marchhq/ci-deploy
oliursahin May 10, 2025
df6d13c
chore: add mongo-sanitize package for database input sanitization
oliursahin May 10, 2025
3e73333
chore: update package name from emptyarray to march and remove mongo-…
oliursahin May 10, 2025
fcee865
Merge pull request #1008 from marchhq/ci-deploy
oliursahin May 10, 2025
89d31b8
chore: add Docker configuration for backend service and MongoDB setup
oliursahin May 10, 2025
f9a236c
refactor: optimize Docker setup with multi-stage build, health checks…
oliursahin May 10, 2025
c36696a
Merge pull request #1010 from marchhq/ci-deploy
oliursahin May 10, 2025
99f71bc
feat: add Docker support and implement graceful server shutdown with …
oliursahin May 10, 2025
41a8b0b
Merge pull request #1011 from marchhq/ci-deploy
oliursahin May 10, 2025
935912f
feat: set the urls
sajdakabir May 13, 2025
57753a9
Merge branch 'preview' of github.com:marchhq/march into sajda-dev
sajdakabir May 13, 2025
d54c3dc
Merge pull request #1012 from marchhq/sajda-dev
sajdakabir May 13, 2025
b08d63b
feat: add logs
sajdakabir May 13, 2025
56da77f
Merge pull request #1013 from marchhq/sajda-dev
sajdakabir May 13, 2025
4a40535
chore: add AWS Amplify deployment config and fix inotify dependency r…
oliursahin May 20, 2025
41dd6fa
Merge pull request #1014 from marchhq/scrut/opp
oliursahin May 20, 2025
5904472
Fix amplify.yml configuration for monorepo structure
oliursahin May 20, 2025
bc962b6
Update amplify.yml to use standard format without monorepo spec
oliursahin May 20, 2025
a950681
Merge pull request #1015 from marchhq/scrut/opp
oliursahin May 20, 2025
c8c44a9
Update amplify.yml to include applications key for monorepo support
oliursahin May 20, 2025
946210e
Merge pull request #1016 from marchhq/scrut/opp
oliursahin May 20, 2025
d82c369
Simplify amplify.yml to use standard non-monorepo configuration
oliursahin May 20, 2025
81f8203
Merge pull request #1017 from marchhq/scrut/opp
oliursahin May 20, 2025
172ac1c
fix
oliursahin May 20, 2025
6ea9f2c
Conclude merge
oliursahin May 20, 2025
9d901b2
Merge pull request #1018 from marchhq/scrut/opp
oliursahin May 20, 2025
9171f1d
Merge branch 'preview' of https://github.com/marchhq/march into scrut…
oliursahin May 20, 2025
5bdd289
vibe code: ios app
oliursahin Jul 9, 2025
72aa687
ui
oliursahin Jul 9, 2025
af66fe7
fix: github issue
sajdakabir Jul 10, 2025
5ce1c8c
Merge pull request #1021 from zerotrailai/sajda-dev
sajdakabir Jul 10, 2025
8c91610
Merge branch 'preview' of https://github.com/zerotrailai/march into i…
oliursahin Jul 10, 2025
117cef0
polish ui
oliursahin Jul 10, 2025
89a22f5
feat(web): implement minimal sidebar design
oliursahin Jul 10, 2025
9542775
feat(web): implement full-screen object view
oliursahin Jul 10, 2025
903320d
refactor(web): simplify header layout in expanded view
oliursahin Jul 10, 2025
cf51060
refactor(web): remove React Query Devtools from QueryProvider
oliursahin Jul 10, 2025
7502b95
refactor(web): simplify header layout by removing unnecessary wrapper
oliursahin Jul 10, 2025
3b3431b
refactor(web): enhance layout consistency across components
oliursahin Jul 10, 2025
507f91d
refactor(web): update date formatting and improve layout in DailyNote…
oliursahin Jul 10, 2025
26c0712
ui: add calendar icon to the list items
oliursahin Jul 10, 2025
a7d9996
feat(web): add filter functionality to AllObjects component
oliursahin Jul 10, 2025
cbbc7a1
Update README.md
oliursahin Jul 10, 2025
1d8027c
Merge pull request #1025 from zerotrailai/oliursahin-patch-1
oliursahin Jul 10, 2025
6113ca7
feat(landing): update branding and content for landing page
oliursahin Jul 10, 2025
5195910
Merge pull request #1029 from zerotrailai/sajda-dev
sajdakabir Jul 11, 2025
0fd59f1
fix: add Railway deployment configuration
oliursahin Jul 11, 2025
66430b8
Merge pull request #1030 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
2a237f9
fix: improve frontend Docker build for Railway
oliursahin Jul 11, 2025
3624183
Merge pull request #1031 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
87671c7
fix: add missing backend dependencies
oliursahin Jul 11, 2025
412c52a
Merge pull request #1032 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
5caf7ca
fix: resolve frontend Docker build missing public directory
oliursahin Jul 11, 2025
983a7a4
Merge pull request #1033 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
ee59b1a
fix: improve frontend reliability and error handling
oliursahin Jul 11, 2025
d4635f3
Merge pull request #1034 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
50d5e10
debug: add simplified Dockerfile and disable standalone mode
oliursahin Jul 11, 2025
01bd422
Merge pull request #1035 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
c801521
fix: replace Dockerfile with working non-standalone version
oliursahin Jul 11, 2025
1439ec8
Merge pull request #1036 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
be1a93c
fix: resolve npm ci lockfile error
oliursahin Jul 11, 2025
3d7e3be
Merge pull request #1037 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
e61352f
debug: add debugging pages and disable middleware temporarily
oliursahin Jul 11, 2025
ecf8e3b
Merge pull request #1038 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
93eaf07
Fix client-side exception with better error handling
oliursahin Jul 11, 2025
369c69b
Merge pull request #1039 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
3ee79ba
Enhanced error boundary debugging
oliursahin Jul 11, 2025
ddf5289
Merge pull request #1040 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
4da5884
Fix SSR error: Remove event handlers from error fallback
oliursahin Jul 11, 2025
de925e3
remove dubuging logs
oliursahin Jul 11, 2025
1148f3a
Remove all debugging code - production ready
oliursahin Jul 11, 2025
4c896c0
Merge pull request #1041 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
1fc18b8
fix: GoogleOAuthProvider
sajdakabir Jul 11, 2025
981eaea
Merge branch 'preview' of github.com:marchhq/march into sajda-dev
sajdakabir Jul 11, 2025
eed535d
Merge pull request #1042 from zerotrailai/sajda-dev
sajdakabir Jul 11, 2025
6ace8f5
refc: remov egithub login
sajdakabir Jul 11, 2025
cd8101f
Merge pull request #1043 from zerotrailai/sajda-dev
sajdakabir Jul 11, 2025
7867577
choe: added a log
sajdakabir Jul 11, 2025
c141481
Merge pull request #1044 from zerotrailai/sajda-dev
sajdakabir Jul 11, 2025
2f4a711
Fix Railway environment variable detection issues
oliursahin Jul 11, 2025
de7f0bf
Merge pull request #1045 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
bbc3580
Remove railway.toml configuration and optimize Dockerfile for Next.js…
oliursahin Jul 11, 2025
113a411
Merge pull request #1046 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
e51f2a5
Remove all Docker and Railway files from web directory
oliursahin Jul 11, 2025
24332d8
Remove Railway references from Next.js configuration
oliursahin Jul 11, 2025
3c73e41
Merge pull request #1047 from zerotrailai/ci/deploy
oliursahin Jul 11, 2025
e889ad3
feat: nav
sajdakabir Jul 21, 2025
db18fe6
imp:nav
sajdakabir Jul 21, 2025
caebd5c
feat: hero
sajdakabir Jul 21, 2025
9461237
Merge pull request #1049 from zerotrailai/nav
sajdakabir Jul 21, 2025
1f90346
new space
sajdakabir Jul 22, 2025
a97a644
feat: added notch
sajdakabir Jul 22, 2025
8c84d9f
feat: added cal
sajdakabir Jul 22, 2025
b2f4f69
feat: added cal
sajdakabir Jul 22, 2025
e61206d
feat: added upcoming router
sajdakabir Jul 23, 2025
01b938c
feat: fix cal
sajdakabir Jul 23, 2025
605d74f
ui: list cal
sajdakabir Jul 23, 2025
cf88fe4
Merge pull request #1050 from zerotrailai/sajda-dev
sajdakabir Jul 23, 2025
d135c8d
cal icon
sajdakabir Jul 23, 2025
943d7bb
feat: upcoming objects
sajdakabir Jul 23, 2025
ab8117b
Merge pull request #1051 from zerotrailai/sajda-dev
sajdakabir Jul 23, 2025
119a236
feat: time picker
sajdakabir Jul 24, 2025
c64822d
feat added recurrence
sajdakabir Jul 24, 2025
1dbd505
recurrence
sajdakabir Jul 24, 2025
fd31fcc
feat: Recurrence object
sajdakabir Jul 24, 2025
56fe5fc
feat: showing date
sajdakabir Jul 24, 2025
832f0e1
feat: repect
sajdakabir Jul 24, 2025
6ed073e
fix: dont show red in the recring and icon change
sajdakabir Jul 24, 2025
544c0f2
feat: agenda scroll
sajdakabir Jul 25, 2025
20bf39f
Merge pull request #1052 from oliursahin/sajda-dev
sajdakabir Jul 25, 2025
f38abe7
fix scroll
sajdakabir Jul 25, 2025
000444b
Merge pull request #1053 from oliursahin/sajda-dev
sajdakabir Jul 25, 2025
99bc5bd
feat: duedate
sajdakabir Jul 25, 2025
a6831bd
Merge pull request #1054 from oliursahin/sajda-dev
sajdakabir Jul 25, 2025
bd9f78c
fix: timezon diff
sajdakabir Jul 25, 2025
3ecea0d
Merge pull request #1055 from oliursahin/sajda-dev
sajdakabir Jul 25, 2025
678836c
list date
sajdakabir Jul 25, 2025
718940f
fix: agenda page
sajdakabir Jul 25, 2025
7ef90ae
Merge pull request #1056 from oliursahin/sajda-dev
sajdakabir Jul 25, 2025
fece69b
fix: connect linear
sajdakabir Jul 29, 2025
175a2f6
Merge pull request #1057 from zerotrailai/sajda-dev
sajdakabir Jul 29, 2025
bb4831a
fix: login issue
sajdakabir Jul 31, 2025
c08ab67
fix:logout
sajdakabir Jul 31, 2025
317e6e9
Merge pull request #1058 from zerotrailai/sajda-dev
sajdakabir Jul 31, 2025
2c118d0
fix: x connect
sajdakabir Aug 4, 2025
6b7fb44
refc: css
sajdakabir Aug 4, 2025
95da0fe
fix: github cionnect
sajdakabir Aug 4, 2025
ca40e53
Merge pull request #1059 from zerotrailai/sajda-dev
sajdakabir Aug 4, 2025
8e4f3a2
feat: init ai
sajdakabir Aug 5, 2025
3b0f168
fix: 401
sajdakabir Aug 5, 2025
53816c3
fix: simgple task
sajdakabir Aug 6, 2025
6476043
feat: ai
sajdakabir Aug 6, 2025
69c5f9b
imp ui
sajdakabir Aug 6, 2025
0b36a9b
fix ui
sajdakabir Aug 6, 2025
23a9bda
layout change
sajdakabir Aug 6, 2025
a5a1e06
Feature buttons - below input
sajdakabir Aug 6, 2025
7dfb06f
Merge branch 'sajda-dev' of github.com:zerotrailai/march into sajda-dev
sajdakabir Aug 7, 2025
736b506
chore: removed unused code
sajdakabir Aug 7, 2025
540933c
fix: ceate obj
sajdakabir Aug 7, 2025
3217fc0
feat:create task using ai
sajdakabir Aug 7, 2025
a2894c0
lint error
sajdakabir Aug 7, 2025
a541d91
ai res
sajdakabir Aug 7, 2025
c5bc16e
fix: lint
sajdakabir Aug 7, 2025
a85a2c8
fix : lint
sajdakabir Aug 8, 2025
340cf3d
remove: old code
sajdakabir Aug 8, 2025
4cc8a6d
Merge pull request #1060 from zerotrailai/sajda-dev
sajdakabir Aug 8, 2025
4e3d6d5
init voice
sajdakabir Aug 8, 2025
eca0b75
auth issue fixed
sajdakabir Aug 8, 2025
da72607
fix: replying in voice
sajdakabir Aug 9, 2025
e5f024b
fix: voice
sajdakabir Aug 9, 2025
c39c436
refc: merge voice and chat route
sajdakabir Aug 9, 2025
3a6e6f8
fix:lint
sajdakabir Aug 9, 2025
6dcc513
fix: lint issue
sajdakabir Aug 9, 2025
d00f879
imp: voice
sajdakabir Aug 9, 2025
32af2ac
imp:enhanced user prompt und
sajdakabir Aug 9, 2025
efae6c7
feat: added realtime voice
sajdakabir Aug 9, 2025
fabe506
feat: websockt
sajdakabir Aug 10, 2025
647ad38
fix: webhook auth
sajdakabir Aug 10, 2025
45dc44f
imp: connect chat and voice route
sajdakabir Aug 10, 2025
bba9842
feat: added realtime responce
sajdakabir Aug 12, 2025
ce4af75
fix:imple greetings and basic questions
sajdakabir Aug 12, 2025
e7f18e4
Merge pull request #1061 from zerotrailai/sajda-dev
sajdakabir Aug 12, 2025
6026930
fix: env
sajdakabir Aug 14, 2025
b4cd229
Merge pull request #1062 from zerotrailai/sajda-dev
sajdakabir Aug 14, 2025
fde59bf
fix:pdate Intelligent AI Controller Intent Handling
sajdakabir Aug 15, 2025
ad117fc
imp:ai
sajdakabir Aug 16, 2025
b717ef7
fix: query not found
sajdakabir Aug 16, 2025
f6118e8
Source-aware voice command processing
sajdakabir Aug 16, 2025
f742fb0
feat" old code
sajdakabir Aug 29, 2025
4270a77
feat: catlan
sajdakabir Aug 29, 2025
9e4901c
size
sajdakabir Aug 29, 2025
8fc0a13
Merge pull request #1063 from zerotrailai/ai-imp
sajdakabir Aug 29, 2025
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
39 changes: 39 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Build stage
FROM oven/bun:1 as builder

WORKDIR /app

# Copy package files from backend
COPY apps/backend/package.json .
COPY apps/backend/bun.lockb .

# Install dependencies
RUN bun install --frozen-lockfile

# Copy the backend application
COPY apps/backend/src ./src
COPY apps/backend/index.js .

# Production stage
FROM oven/bun:1-slim

WORKDIR /app

# Copy from builder
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json .
COPY --from=builder /app/src ./src
COPY --from=builder /app/index.js .

# Set production environment
ENV NODE_ENV=production

# Expose the port the app runs on
EXPOSE 8080

# Health check
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:8080/health || exit 1

# Start the application
CMD ["bun", "run", "start"]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ![march](https://your-logo-url.com/logo.png)

```txt
ai second brain, opinionatedly designed for makers.
ai second brain, opinionatedly designed for the rest of us.
```

## About
Expand All @@ -11,7 +11,7 @@ march is a notion alternative for getting things done—the tool we wished exist
- **Simple Object-Based System:** Everything—meetings, bookmarks, Linear issues—is treated as an object with a type. You can customize views based on object types.
- **Dynamic Interface:** Build your own productivity page/ space with blocks, you decide how your action items should look like.
- **Smart Organization:** No tedious templates—March organizes your data dynamically based on behavior and object types.
- **AI-Powered Productivity:** Plan your day, perform actions in connected apps, and stay accountable. march pushes you to get things done—or take breaks when needed.
- **AI-Powered only where it needed:** march can perform actions in connected apps and reminds you what you should consume ( i.e the twitter bookmark you saved but never opened)

March is currently **free and open source**, maintained by **[@oliursahin](https://github.com/oliursahin)** and **[@sajdakabir](https://github.com/sajdakabir)**. If you love using it, consider [buying us a coffee](https://buymeacoffee.com/oliursahin)—it helps us keep the servers running.

Expand Down
23 changes: 23 additions & 0 deletions amplify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: 1
applications:
- appRoot: apps/web
frontend:
phases:
preBuild:
commands:
- npm install -g npm@latest
- npm install -g bun
- cd apps/web
- npm ci
build:
commands:
- cd apps/web
- npm run build
artifacts:
baseDirectory: apps/web/.next
files:
- '**/*'
cache:
paths:
- node_modules/**/*
- apps/web/node_modules/**/*
37 changes: 37 additions & 0 deletions apps/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Build stage
FROM oven/bun:1 as builder

WORKDIR /app

# Copy package files
COPY package.json .

# Install dependencies without lockfile (since we don't have bun.lockb in backend dir)
RUN bun install

# Copy the rest of the application
COPY . .

# Production stage
FROM oven/bun:1-slim

WORKDIR /app

# Copy from builder
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json .
COPY --from=builder /app/src ./src
COPY --from=builder /app/index.js .

# Set production environment
ENV NODE_ENV=production

# Expose the port the app runs on
EXPOSE 8080

# Health check
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:8080/ || exit 1

# Start the application
CMD ["bun", "run", "start"]
45 changes: 45 additions & 0 deletions apps/backend/Dockerfile.railway
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Railway Dockerfile for Backend - use this for Railway deployment
# This should be used from the ROOT directory of the monorepo

FROM oven/bun:1 as builder

WORKDIR /app

# Copy root package.json and lockfile for monorepo setup
COPY package.json .
COPY bun.lockb .
COPY bunfig.toml .

# Copy backend package.json
COPY apps/backend/package.json ./apps/backend/

# Install all dependencies (this handles the monorepo workspace)
RUN bun install --frozen-lockfile

# Copy backend source code
COPY apps/backend/src ./apps/backend/src
COPY apps/backend/index.js ./apps/backend/

# Production stage
FROM oven/bun:1-slim

WORKDIR /app

# Copy node_modules and backend files from builder
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/apps/backend/package.json .
COPY --from=builder /app/apps/backend/src ./src
COPY --from=builder /app/apps/backend/index.js .

# Set production environment
ENV NODE_ENV=production

# Expose the port the app runs on
EXPOSE 8080

# Health check
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:8080/ || exit 1

# Start the application
CMD ["bun", "run", "start"]
72 changes: 63 additions & 9 deletions apps/backend/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,68 @@ import { environment } from "./src/loaders/environment.loader.js";
import { createServer } from "http";
import { initializeWebSocket } from "./src/loaders/websocket.loader.js";

(async function init () {
const server = createServer(app);
server.listen(environment.PORT, () => {
console.log(`Server listening on port ${environment.PORT}`);
});
process.on('uncaughtException', (error) => {
console.error('Uncaught Exception:', error);
// Keep the process running despite the error
});

initializeWebSocket(server);
})();
process.on('unhandledRejection', (reason, promise) => {
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
// Keep the process running despite the rejection
});

let server;

async function init() {
try {
server = createServer(app);

// Add error handler for server
server.on('error', (error) => {
console.error('Server error:', error);
});

await new Promise((resolve) => {
server.listen(environment.PORT, '0.0.0.0', () => {
console.log(`Server listening on port ${environment.PORT} on all interfaces`);
resolve();
});
});

await initializeWebSocket(server);

// Add health check endpoint
app.get('/health', (req, res) => {
res.status(200).json({ status: 'healthy' });
});

} catch (error) {
console.error('Failed to initialize server:', error);
// Keep the process running despite initialization errors
}
}

// Graceful shutdown
function shutdown() {
console.log('Received shutdown signal');
if (server) {
server.close(() => {
console.log('Server closed');
process.exit(0);
});

// Force close after 10s
setTimeout(() => {
console.error('Could not close connections in time, forcefully shutting down');
process.exit(1);
}, 10000);
}
}

process.on('SIGTERM', shutdown);
process.on('SIGINT', shutdown);

init();

// for webhook testing
// import { app } from "./src/index.js";
Expand All @@ -23,8 +77,8 @@ import { initializeWebSocket } from "./src/loaders/websocket.loader.js";

// (async function init () {
// const server = createServer(app);
// server.listen(environment.PORT, async () => {
// console.log(`Server listening on port ${environment.PORT}`);
// server.listen(environment.PORT, '0.0.0.0', async () => {
// console.log(`Server listening on port ${environment.PORT} on all interfaces`);
// // Await ngrok forwarding outside the listen callback
// listener = await ngrok.forward({ addr: `http://localhost:${environment.PORT}`, authtoken: environment.NGROK_AUTH_TOKEN });
// console.log(`Ingress established at: ${listener.url()}`);
Expand Down
10 changes: 6 additions & 4 deletions apps/backend/package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "@emptyarray/backend",
"name": "@march/backend",
"version": "0.0.1",
"description": "productivity without tedious templates",
"author": "emptyarray inc",
"author": "march inc",
"private": true,
"main": "index.js",
"type": "module",
"repository": "https://github.com/emptyarrayhq/emptyarray",
"repository": "https://github.com/marchhq/march",
"license": "MIT",
"scripts": {
"dev": "nodemon index.js",
Expand Down Expand Up @@ -40,6 +40,7 @@
"jwt-decode": "^4.0.0",
"langchain": "^0.3.14",
"moment-timezone": "^0.5.45",
"mongo-sanitize": "^1.1.0",
"mongoose": "^8.4.3",
"multer": "1.4.5-lts.1",
"multer-s3": "^3.0.1",
Expand All @@ -50,7 +51,8 @@
"twilio": "^5.3.0",
"twitter-api-v2": "^1.20.1",
"uuid": "^10.0.0",
"ws": "^8.18.0"
"ws": "^8.18.0",
"zod": "^4.0.5"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.22.5",
Expand Down
2 changes: 1 addition & 1 deletion apps/backend/src/loaders/environment.loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export const environment = {
GITHUB_APP_CLIENT_ID: process.env.GITHUB_APP_CLIENT_ID,
GITHUB_APP_CLIENT_SECRET: process.env.GITHUB_APP_CLIENT_SECRET,
NGROK_AUTH_TOKEN: process.env.NGROK_AUTH_TOKEN,
REDIS_DB_NAME: process.env.REDIS_HOST,
REDIS_DB_NAME: process.env.REDIS_DB_NAME,
REDIS_HOST: process.env.REDIS_HOST,
REDIS_PORT: process.env.REDIS_PORT,
REDIS_DB_USER: process.env.REDIS_DB_USER,
Expand Down
2 changes: 1 addition & 1 deletion apps/backend/src/routers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const initRoutes = (app) => {
app.use('/ai', JWTMiddleware, AiRoute);
app.get("/", async (req, res) => {
res.json({
"message": "Welcome to emptyarray Developers Portal"
"message": "Welcome to sage "
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Trim the welcome message string to remove unintended extra spaces. [Typo Fix]

Suggested change
"message": "Welcome to sage "
"message": "Welcome to sage"

})
})

Expand Down
46 changes: 46 additions & 0 deletions apps/ios/.github/workflows/ios-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: iOS Build

on:
push:
branches: [ main, develop ]
paths: ['apps/ios/**']
pull_request:
branches: [ main ]
paths: ['apps/ios/**']

jobs:
build:
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Build iOS App
working-directory: apps/ios
run: |
xcodebuild -project March.xcodeproj \
-scheme March \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
build

- name: Run Tests
working-directory: apps/ios
run: |
xcodebuild -project March.xcodeproj \
-scheme March \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
test

- name: Archive Build
if: github.ref == 'refs/heads/main'
working-directory: apps/ios
run: |
xcodebuild -project March.xcodeproj \
-scheme March \
-archivePath ./build/March.xcarchive \
archive
Loading
Loading