Git Product home page Git Product logo

web's Introduction

helpwave web

The official helpwave web frontends.

Open in GitHub Codespaces

OpenSSF Scorecard


This repository is split up into multiple subprojects using pnpm workspaces.

  • helpwave tasks (see tasks)
  • landing page of helpwave (see landing-page)
  • library of helpwave (see lib)

Getting Started

To get started you will have to in install pnpm. After that you can use the following commands to start one of our projects.

pnpm install
cd <project> # e.g. tasks, landing-page
pnpm run dev

After that you should be able to open the project in the browser http://localhost:3000.

Storybook

The components of our library can be looked at in the storybook, where the different parameters of the component can be set individually.

This allows you to see which components already exist and how to use them. The current version can be seen here https://components.helpwave.de.

cd lib
pnpm run storybook

Testing

This project is tested with BrowserStack.

Linter

Our projects use linting with eslint to create a uniform code style. The linter can used with:

pnpm run --filter "@helpwave/*" lint
pnpm run --filter "@helpwave/*" lint --fix

It is configured in the eslint-config.

Scripts

The list of all our scripts can be found here.

Boilerplate generation

Execution with

  • node generate_boilerplate <relative filepath>
  • pnpm run generate <relative filepath> (within the projects)

All options can be seen with the --help flag

Example: node scripts/generate_boilerplate tasks/components/test

web's People

Contributors

aegis301 avatar dasproffi avatar dependabot[bot] avatar fl0r14nj avatar fosefx avatar konstantinschuette avatar maurerle avatar maxschaefer avatar paul-b98 avatar paulkalho avatar renovate[bot] avatar shivadharmi avatar techrahis avatar use-to avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

web's Issues

Add tasks page / modal

This isn't designed as of yet, the only thing clear at the moment is that it is supposed to be viewable as either its own page and as a modal.

Internationalization finishing touches

There were a few things still missing in PR #61, these will be addressed here:

  • a few translations here and there
  • layout fixes where different translations have given elements different sizes per language
  • language switching using some kind of UI
  • persisting language choices

env and config handling

A system which creates a config object based on environment variables and does some basic type checking (preferably using zod).
This can then be used wherever and does environment variable handling (especially when it comes to default values) is centralized.

Potential problem is that some things get executed during nextjs' build step.

SEO metadata, favicon

Basically make open graph link validators happy, set appropriate <title />-tags per page, add a favicon, manifest.json, ...

Sidepanel

Basic sections like shown in figma

Contact page v2

Jannik designed a new contact page. We can implement this in the future. Low priority because we already have a decent contact page.

image (1)

Basic landing page

  • Informations about the project
  • Basic informations about the Team?
  • Contact infos -> HubSpot Form?
  • Images? Mocks?

switch to twind

reference: https://twind.style & https://github.com/tw-in-js/twind

Twind is a replacement for Tailwind which is compatible with Tailwind's classname system but generates the styles on the fly. This removes one major annoyance with Tailwind, this being not being able properly work with conditional styles.
With SSR this isn't anything all too different from just using tailwind as the backend generates styles and hands these over to the client. The important difference now is that the client can continue to generate styles for new branches taken during execution.

Getting twind working just how you want it is somewhat complicated and requires a little bit of digging through source code

remove husky

no need for having husky around with a properly configured CI, it's doing nothing of value and only slowing down development

Restructure landing-page

  • Merge teams and partners sections
  • Remove roadmap sections

  • Set default language to german
  • Merge contacts with a new text sections
  • Shorten feature texts

Sign-in / Sign-up form

We need a sign-in and sign-up for our dashboard. We authenticate a user by email and password.

Contact page

The contact form on that page should track name, email and a message.

Create common module

Create a separate package called @helpwave/common (file path: common/; this name can be chosen freely, this won't be published anywhere (as of yet!)), which contains common files such as i18n related things, a few components, a partial twind config (colors most importantly), and anything else that comes up that is better shared between app/ and landing-page/.

I kind of want to do something experimental with this as well: we won't transpile the TypeScript to JavaScript, we will import the TypeScript files directly, this might require some finessing with bundling however and I'm not sure how this may work out with dependencies.

Here's how I imagine this being used:
import { useTranslation } from '@helpwave/common/hooks/useTranslation'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.