Skip to content

Commit ef5bc21

Browse files
committed
Merge branch 'main' of https://github.com/lukevella/rallly
2 parents b8d4bfa + be074a4 commit ef5bc21

Some content is hidden

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

80 files changed

+1109
-1097
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Crowdin](https://badges.crowdin.net/rallly/localized.svg)](https://crowdin.com/project/rallly)
1111
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-orange.svg)](https://www.gnu.org/licenses/agpl-3.0)
1212
[![Discord](https://img.shields.io/badge/-Join%20Chat-7289DA?logo=discord&logoColor=white)](https://discord.gg/uzg4ZcHbuM)
13-
[![Donate](https://img.shields.io/badge/-Donate%20with%20Paypal-white?logo=paypal)](https://www.paypal.com/donate/?hosted_button_id=7QXP2CUBLY88E)
13+
[![Donate](https://img.shields.io/badge/-Donate%20with%20Paypal-blue?logo=paypal)](https://www.paypal.com/donate/?hosted_button_id=7QXP2CUBLY88E)
1414

1515
</div>
1616

apps/docs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
},
1212
"dependencies": {
1313
"mint": "^4.2.108",
14-
"react": "^19.1.0",
15-
"react-dom": "^19.1.0"
14+
"react": "^19.1.4",
15+
"react-dom": "^19.1.4"
1616
}
1717
}

apps/landing/next-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3+
/// <reference path="./.next/types/routes.d.ts" />
34

45
// NOTE: This file should not be edited
56
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

apps/landing/next.config.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ function createAppUrl(subpath) {
99
return url.href;
1010
}
1111

12+
/** @type {import('next').NextConfig} */
1213
const nextConfig = {
1314
productionBrowserSourceMaps: true,
14-
output: "standalone",
1515
transpilePackages: [
1616
"@rallly/ui",
1717
"@rallly/tailwind-config",
@@ -96,6 +96,26 @@ const nextConfig = {
9696
destination: "/",
9797
permanent: true,
9898
},
99+
{
100+
source: "/availability-poll",
101+
destination: "/free-scheduling-poll",
102+
permanent: true,
103+
},
104+
{
105+
source: "/meeting-poll",
106+
destination: "/free-scheduling-poll",
107+
permanent: true,
108+
},
109+
{
110+
source: "/:locale/availability-poll",
111+
destination: "/:locale/free-scheduling-poll",
112+
permanent: true,
113+
},
114+
{
115+
source: "/:locale/meeting-poll",
116+
destination: "/:locale/free-scheduling-poll",
117+
permanent: true,
118+
},
99119
];
100120
},
101121
};

apps/landing/package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,20 @@
3131
"lucide-react": "^0.479.0",
3232
"motion": "^12.6.2",
3333
"nanoid": "^5.0.9",
34-
"next": "^15.4.8",
34+
"next": "^15.4.10",
3535
"next-mdx-remote": "^5.0.0",
3636
"next-seo": "^6.1.0",
37-
"react": "^19.1.0",
38-
"react-dom": "^19.1.0",
37+
"react": "^19.1.4",
38+
"react-dom": "^19.1.4",
3939
"react-i18next": "^15.5.1",
4040
"react-use": "^17.6.0"
4141
},
4242
"devDependencies": {
43-
"@next/bundle-analyzer": "^15.4.8",
43+
"@next/bundle-analyzer": "^15.4.10",
4444
"@rallly/tsconfig": "workspace:*",
4545
"@types/color-hash": "^1.0.2",
4646
"@types/lodash": "^4.14.178",
47+
"@types/node": "^20.17.50",
4748
"@types/react": "19.1.2",
4849
"@types/react-dom": "19.1.2",
4950
"cross-env": "^7.0.3",

apps/landing/public/llms.txt

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Rallly: Open-source scheduling for groups
2+
3+
## Overview
4+
5+
Rallly is an open-source scheduling poll application designed to help people find common times to schedule meetings and events. It eliminates the back-and-forth email chains by allowing hosts to create polls with multiple date and time options, which participants can then vote on to find the best time that works for everyone.
6+
7+
## Pronunciation
8+
9+
Rallly is pronounced like "rally" but with an extra L. The name comes from the concept of "rallying people together" to make things happen.
10+
11+
## Core Functionality
12+
13+
### Scheduling Polls
14+
15+
Rallly's primary feature is creating scheduling polls where:
16+
- Hosts select multiple date and time options for an event
17+
- Participants vote on their preferred options
18+
- The host can see which times work best for the group
19+
- The host can finalize the poll by selecting the most suitable option
20+
21+
### Quick Create
22+
23+
Rallly offers a "Quick Create" feature that allows users to create and manage polls without signing up for an account. This makes it easy for new users to get started immediately. When ready, users can sign up and have all their existing polls automatically added to their account.
24+
25+
## Usage Models
26+
27+
### Individual Use
28+
29+
Users can create personal polls and share them with participants. Most features are free, making it accessible for personal scheduling needs.
30+
31+
### Team Use (Spaces)
32+
33+
Rallly offers "Spaces" for team collaboration, which includes:
34+
- Centralized billing for organizations
35+
- Member management with role-based permissions
36+
- Shared poll organization within the workspace
37+
- Seat-based pricing that scales with team size
38+
- All Space members get access to Pro features without individual subscriptions
39+
40+
## Pricing
41+
42+
Most of Rallly's features are free, and most users will never need to pay. However, there are Pro features available for users who need:
43+
- Poll finalization capabilities
44+
- Calendar invite generation
45+
- Extended poll lifetime
46+
- Priority support
47+
48+
Teams can benefit from centralized billing through Spaces, paying only for the seats they need.
49+
50+
## Technical Stack
51+
52+
Rallly is built with modern web technologies:
53+
- **Next.js** - React framework for the web application
54+
- **Prisma** - Database ORM
55+
- **tRPC** - End-to-end typesafe APIs
56+
- **TailwindCSS** - Utility-first CSS framework
57+
58+
## Open Source
59+
60+
Rallly is open-source software licensed under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. The source code is available on GitHub, and the project welcomes contributions from the community.
61+
62+
## Self-Hosting
63+
64+
Rallly can be self-hosted, allowing organizations to run their own instance of the application. This provides full control over data and customization options.
65+
66+
## Key Features
67+
68+
- No account required to create polls (Quick Create)
69+
- Multi-language support (translated into many languages)
70+
- Mobile-responsive design
71+
- Calendar integration capabilities
72+
- Poll finalization and calendar invite generation (Pro)
73+
- Team collaboration through Spaces
74+
- Open-source and self-hostable
75+
76+
## Use Cases
77+
78+
Rallly is ideal for:
79+
- Scheduling team meetings
80+
- Organizing social events with friends
81+
- Coordinating client calls
82+
- Planning cross-functional project meetings
83+
- Any scenario where multiple people need to find a common time
84+
85+
## Website
86+
87+
- Main website: https://rallly.co
88+
- Application: https://app.rallly.co
89+
- Documentation: https://support.rallly.co
90+
- GitHub: https://github.com/lukevella/rallly

apps/landing/public/locales/cs/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,10 @@
1919
"bestDoodleAlternative": "Nejlepší alternativa k Doodle",
2020
"freeSchedulingPoll": "Hlasování o termínech schůzek zdarma",
2121
"getStarted": "Začínáme",
22-
"availabilityPoll": "Dostupná hlasování",
2322
"solutions": "Řešení",
2423
"howItWorks": "Jak to funguje",
2524
"status": "Stav",
2625
"when2MeetAlternative": "When2Meet alternativa",
27-
"meetingPoll": "Plánovací anketa",
2826
"signUp": "Registrovat se",
2927
"openSource": "Máme otevřený zdrojový kód!"
3028
}

apps/landing/public/locales/cs/home.json

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@
1616
"hint": "Zdarma! Bez nutnosti přihlášení.",
1717
"doodleAlternative": "Nejlepší bezplatná alternativa k Doodle",
1818
"doodleAlternativeDescription": "Rallly je tady pro vás, pokud hledáte alternativu k Doodle. Tisíce uživatelů již přešly a nyní si užívají profesionální hlasování o termínech schůzek bez reklam v intuitivním a snadno použitelném rozhraní. ",
19-
"availabilityPollCta": "Vytvořit hlasování o termínu",
20-
"availabilityPollMetaTitle": "Anketa dostupnosti | Zjednodušení plánování s Rallly",
21-
"availabilityPollMetaDescription": "Plánujte schůzky a události bez problémů pomocí Rallly. Zajistěte, aby byla zohledněna časové možnosti všech účastníků a plánování probíhalo hladce a efektivně.",
22-
"availabilityPollTitle": "Dostupná hlasování",
23-
"availabilityPollDescription": "Už vás nebaví hledat čas schůzky, který by vyhovoval všem? Zjednodušte plánování pomocí hlasování - výkonného nástroje, který je navržen tak, aby zjednodušil a optimalizoval plánování událostí a schůzek.",
2419
"createAPoll": "Vytvořit hlasování o schůzce",
2520
"doodleAlternativeMetaTitle": "Nejlepší bezplatná alternativa k Doodle | Rallly",
2621
"doodleAlternativeMetaDescription": "Hledáte alternativu k Doodle? Zkuste Rallly! Je zdarma, je jednoduchá a nevyžaduje žádný účet.",
@@ -34,9 +29,5 @@
3429
"when2meetAlternativeMetaTitle": "Nejlepší When2Meet Alternativa: Rallly",
3530
"when2meetAlternativeMetaDescription": "Najděte jednodušší způsob, jak plánovat schůzky – s Rallly, nejlepší bezplatnou alternativou k When2Meet. Snadné použití a zcela zdarma.",
3631
"when2meetAlternative": "Stále používáte When2Meet?",
37-
"when2meetAlternativeDescription": "Vytvářejte profesionální ankety pro schůzky bez reklam zdarma s Rallly.",
38-
"meetingPoll": "Vytvářejte profesionální ankety pro schůzky s Rallly",
39-
"meetingPollDescription": "Plánovací ankety představují efektivní způsob, jak zjistit, kdy mají lidé čas. Služba Rallly umožňuje jednoduše vytvářet přehledné a atraktivní ankety na domlouvání schůzek.",
40-
"meetingPollMetaTitle": "Plánovací anketa",
41-
"meetingPollMetaDescription": "Jednoduše naplánujte schůzky s naší funkcí průzkumu, které zajistí dostupnost pro všechny."
32+
"when2meetAlternativeDescription": "Vytvářejte profesionální ankety pro schůzky bez reklam zdarma s Rallly."
4233
}

apps/landing/public/locales/da/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,10 @@
1919
"bestDoodleAlternative": "Det bedste alternativ til Doodle",
2020
"freeSchedulingPoll": "Gratis planlægningsafstemning",
2121
"getStarted": "Kom i gang",
22-
"availabilityPoll": "Tilgængelighedsafstemning",
2322
"solutions": "Løsninger",
2423
"howItWorks": "Sådan virker det",
2524
"status": "Status",
2625
"when2MeetAlternative": "When2Meet alternativ",
27-
"meetingPoll": "Mødeafstemning",
2826
"signUp": "Tilmeld dig",
2927
"licensingThankYouTitle": "Tak for dit køb!",
3028
"licensingThankYouSubtitle": "Din Rallly self-hosted licens er bekræftet. Vi er glade for at have dig om bord!",

apps/landing/public/locales/da/home.json

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@
1616
"hint": "Det er gratis! Intet login kræves.",
1717
"doodleAlternative": "Det bedste gratis alternativ til Doodle",
1818
"doodleAlternativeDescription": "Rallly er det Doodle alternativ, som alle har ledt efter. Tusindvis af brugere er allerede skiftet og nyder nu professionelle annonce-fri meningsmålinger i et intuitiv og nemt interface. ",
19-
"availabilityPollCta": "Opret en tilgængeligsafstemning",
20-
"availabilityPollMetaTitle": "Tilgængeligsafstemning | Strømlin planlægning med Rallly",
21-
"availabilityPollMetaDescription": "Planlæg møder og arrangementer problemfrit med Ralllys tilgængelighedsafstemninger. Sørg for at alles tilgængelighed er taget i betragtning for en smart og effektiv planlægningsoplevelse.",
22-
"availabilityPollTitle": "Tilgængelighedsafstemninger",
23-
"availabilityPollDescription": "Træt af at kæmpe for at finde en mødetid, der virker for alle? Strømlin din planlægning med en tilgængelighedsafstemning - et kraftfuldt værktøj designet til at forenkle og optimere din begivenheds- og mødeplanlægning.",
2419
"createAPoll": "Opret en mødeafstemning",
2520
"doodleAlternativeMetaTitle": "Bedste gratis alternativ til Doodle | Rallly",
2621
"doodleAlternativeMetaDescription": "Leder du efter et Doodle-alternativ? Prøv Rallly! Det er gratis, nemt at bruge, og kræver ikke en konto.",
@@ -36,9 +31,5 @@
3631
"when2meetAlternativeMetaDescription": "Find en bedre måde at planlægge møder med Rallly, det bedste gratis alternativ til When2Meet. Let at bruge og gratis.",
3732
"when2meetAlternative": "Bruger du stadig When2Meet?",
3833
"when2meetAlternativeDescription": "Opret professionelle, annoncefri mødeafstemninger gratis med Rallly.",
39-
"meetingPoll": "Opret professionelle mødeafstemninger med Rallly",
40-
"meetingPollDescription": "Mødeafstemninger er en fantastisk måde at undersøge folks tilgængelighed. Rallly lader dig oprette flotte mødeafstemninger med lethed.",
41-
"meetingPollMetaTitle": "Mødeafstemning",
42-
"meetingPollMetaDescription": "Planlæg nemt møder med vores meningsmåling, hvilket sikrer alles tilgængelighed.",
4334
"spacesBlog": "Introduktion af rum"
4435
}

0 commit comments

Comments
 (0)