
Start UI [Web] ist ein von dem Bearstudio -Team und anderer Mitwirkenden erstellte und gepflegtes Frontend Starter -Repository. Es repräsentiert den aktuellen Stack unseres Teams, den wir beim Erstellen von Web-Apps für unsere Kunden verwenden.
Ausführliche Informationen zur Verwendung dieses Projekts finden Sie in der Dokumentation. Die Dokumentation enthält alle erforderlichen Informationen zu Installation, Verwendung und einigen Leitfäden.
Eine Live-schreibgeschützte Demonstration dessen, was Sie beim Starten eines Projekts mit Start UI [Web] haben werden, finden Sie auf demo.start-ui.com.

? TypeScript, ⚛️ React, ⚫️ NextJs, ⚡️ Chakra ui,? TRPC, ▲ Prisma,? euen Tanstack -Abfrage, Storybook,? Dramatiker,? Hakenform reagieren,? Reagieren i18Next
pnpm create start-ui --web myAppDas wird ein neuer Ordner mit der neuesten Version von Start UI [Web] ins Gerät bringen?
.env.example in eine neue .env -Datei und aktualisieren cp .env.example .envNotiz
Schnelle Ratschläge für die lokale Entwicklung
pnpm installpnpm dk:initNotiz
Willst du Docker nicht benutzen?
Richten Sie eine PostgreSQL -Datenbank (lokal oder online) ein und ersetzen Sie die Umgebungsvariable Database_url . Anschließend können Sie pnpm db:push um Ihr Datenbankschema zu aktualisieren und dann pnpm db:seed für Ihre Datenbank auszuführen.
# Run the database in Docker (if not already started)
pnpm dk:start
# Run the development server
pnpm devIn der Entwicklung werden die E -Mails nicht gesendet und von Maildev gefangen.
Die Maildev -Benutzeroberfläche ist unter 0,0.0.0:1080 erhältlich.
E-Mail-Vorlagen werden mit react-email Komponenten im Ordner src/emails erstellt.
Sie src/emails/templates eine E -Mail -Vorlage unter http://localhost:3000/devtools/email/{template} {template} wob
Beispiel: Anmeldecode
Fügen Sie die Sprache in der Vorschau -URL wie http://localhost:3000/devtools/email/{template}/{language} wobei {language} der Sprachschlüssel ist ( en , fr , ...)
Sie können der Vorschau -URL Suchparameter hinzufügen, um sie als Requisiten an die Vorlage zu übergeben. http://localhost:3000/devtools/email/{template}/?{propsName}={propsValue}
pnpm storybookBeim Hinzufügen oder Aktualisieren von Themenkomponenten, Komponentenvariationen, Größen, Farben und anderen Themenfundamenten können Sie die internen Themen -Typierungen erweitern, um eine schöne Autocomplete zu bieten.
Führen Sie einfach den folgenden Befehl aus, nachdem Sie das Thema aktualisiert haben:
pnpm theme:generate-typing Fügen Sie die benutzerdefinierten SVG-Dateien in den Ordner src/components/Icons/svg-sources ein und führen Sie den folgenden Befehl aus:
pnpm theme:generate-iconsWarnung
Alle SVG-Symbole sollten SVG-Dateien sein, die von icon- (Beispiel: icon-externel-link ) mit 24x24px- Größe, nur eine Form und mit #000 Farbe (durch currentColor ersetzt werden) vorangestellt werden.
Sie können den Speicherschlüssel aktualisieren, der verwendet wird, um den Farbmodus zu erkennen, indem Sie diese Konstante in der Datei src/theme/config.ts aktualisieren:
export const COLOR_MODE_STORAGE_KEY = 'start-ui-color-mode' ; // Update the key according to your needsE2E -Tests werden mit Dramatikern eingerichtet.
pnpm e2e # Run tests in headless mode, this is the command executed in CI
pnpm e2e:ui # Open a UI which allow you to run specific tests and see test execution Tests sind im e2e -Ordner geschrieben; Es gibt auch einen e2e/utils -Ordner, der einige Utils enthält, um Tests zu schreiben.
Richten Sie die Variable NEXT_PUBLIC_ENV_NAME mit dem Namen der Umgebung ein.
NEXT_PUBLIC_ENV_NAME="staging"
NEXT_PUBLIC_ENV_EMOJI="?"
NEXT_PUBLIC_ENV_COLOR_SCHEME="teal"
Wir haben empfohlen, das I18N Ally Plugin für VS Code for Translations Management zu verwenden.
Erstellen oder bearbeiten Sie die Datei .vscode/settings.json mit den folgenden Einstellungen:
{
"i18n-ally.localesPaths" : [ " src/locales " ],
"i18n-ally.keystyle" : " nested " ,
"i18n-ally.enabledFrameworks" : [ " general " , " react " , " i18next " ],
"i18n-ally.namespace" : true ,
"i18n-ally.defaultNamespace" : " common " ,
"i18n-ally.extract.autoDetect" : true ,
"i18n-ally.keysInUse" : [ " common.languages.* " ]
}pnpm install
pnpm storybook:build # Optional: Will expose the Storybook at `/storybook`
pnpm build
pnpm startstart-ui-web durch Ihren Projektnamen). docker build -t start-ui-web .
start-ui-web durch Ihren Projektnamen). docker run -p 80:3000 start-ui-web
Die Anwendung wird auf Port 80 (http: // localhost) ausgesetzt.