Coder Social home page Coder Social logo

senf-koeln / senf-atomic-design-system Goto Github PK

View Code? Open in Web Editor NEW
4.0 0.0 3.0 7.58 MB

An atomic-design-system-library for all Senf-apps

Home Page: https://senf.koeln

License: GNU Affero General Public License v3.0

JavaScript 0.94% TypeScript 99.00% HTML 0.06%
reactjs typescript storybook component-library atomic-design hacktoberfest hacktoberfest2021 hacktoberfest-2021 opensource

senf-atomic-design-system's Introduction

senf-atomic-design-system

An atomic-design-system-library for all Senf-apps (https://senf.app , Senf-workspace & Senf-Monitoring)

Our main Apps are built within a opensource Monorepo, that you can find here: https://github.com/AgileVentures/senf_client (That Repo isn't as straight forward as this one though – and not the easiest to contribute to)

About

The aim of this project is to strengthen participation of citizens in urban planning & to make it more interactive and transparent. Since we see citizens as the real experts in their neighborhoods, we want to create an attractive opportunity for people to contribute their own ideas and suggestions.

Ultimately, through this platform, we are attempting to establish a collaborative community-based environment in which citizens have a voice and organizations of any kind are empowered to be more participatory. Simultaneously, we see this environment as a space for people to get creative and connect in real life in order to collectively shape their own urban space.

Since the beginning of 2021, we have been running the platform Senf.app for the area of Cologne, Germany – and we see this expanding to any city and municipality. Btw: checkout/follow our Instagram (https://www.instagram.com/senf.koeln/)

If it sounds interesting to you, we would love you to join and contribute to this project!

1: Fork this repository and clone your own Fork

To avoid ending up with an unmanageable amount of branches, we decided to go this way: fork the repository first and then clone your fork to your computer using terminal command git clone https://github.com/your-github-name/senf-atomic-design-system. When contributing, create a pull request as described in this documentation.

2: Install packages

Open senf-atomic-design-system folder in the terminal and type npm install.

If you get error npm command not found make sure you have node.js installed on your machine.

3: Run Storybook

To run the design Library, type npm run storybook

4: Let's talk!

We are extremely happy about any contribution! We are a young interdisciplinary team and would love to welcome you on board! Send us a short email to [email protected] or send me a message here: LinkedIn. We will get in touch with you and add you to our Slack-Channel if you wish! We are looking forward to meeting you!

5: ZenHub

We will invite you to our ZenHub Workspace, where you can find tickets to work on. Create an account and add the ZenHub Widget to Github. Now you can find an appealing ticket within the Sprint-Backlog or Bugs/Questions and try to tackle it.

6: Take a look at the Designfile (Work in Progress)

We are designing all components in Framer. You can find all to-do-components there and copy CSS attributes directly from there. It is still evolving and the Design-Experteriments-Page might be a little chaotic, but the other pages should be really straight forward. To get the icons, you got to ask us.

https://framer.com/projects/senf-app--fiUScOsONkcproCH8qAH-jfmFv

7: Atomic-Design-System-Principles

To get a background-understanding about the atomic-design-system, take a look at this resource: https://atomicdesign.bradfrost.com/chapter-2/

8: Background-Info about the foundation of this Repository

To get a background-understanding on how the repository is built, here’s a link to a tutorial that has been the base: https://blog.logrocket.com/build-component-library-react-typescript/

senf-atomic-design-system's People

Contributors

digital-coder avatar enjoy2live avatar tassilomorino avatar

Stargazers

 avatar  avatar  avatar  avatar

senf-atomic-design-system's Issues

Define and submit all Theme-specifications

fontFamily: "Nunito",

//SPACE are not complete/verified
space: [0, 2, 4, 8, 16, 24, 32],

fontSizes: [12, 14, 16, 20, 24, 32],
fontWeights: [500, 600, 700, 800],

lineHeight: [1.4, 1.3, 1.3, 1.5, 1.5, 1.3, 1.4, 1.2],
letterSpacings: [0],

//what exactly is SIZES? Do we need that?
sizes: [],

//should we split up BORDERS?? Is borderstyles really necessary? Bestpractices?
borders: [],
borderWidths: [0, 1, 2, 3],
borderStyles: ["dashed", "solid"],

//RADII are not complete/verified
radii: [10, 18, 20, 24, 28, 30],

//OPACITIES are not complete/verified
opacities: [0.4, 0.6, 0.75],

//SHADOWS are not complete/verified
shadows: [
"0px 12px 18px -8px rgba(186, 160, 79, 0.2)",
"0px -4px 10px 4px rgba(255, 255, 255, 0.2)",
],

//Does Louis define the TRANSITIONS??
transitions: [],

//bestpractice for ZINDICES??
zIndices: [0, 1],

colors: {
primary: {
160: "#d6ab00",
140: "#e8ba02",
120: "#f2c71c",
100: "#fed957",
75: "#fee381",
50: "#feecab",
35: "#fff2c4",
20: "#fff7dd",
},
beige: {
100: "#e2b736",
75: "#e9c968",
50: "#f0db9a",
35: "#f5e6b9",
20: "#f9f1d7",
10: "#fcf8eb",
"75-tra": "rgba(226, 183, 54, 0.75)",
"50-tra": "rgba(226, 183, 54, 0.5)",
"35-tra": "rgba(226, 183, 54, 0.35)",
"20-tra": "rgba(226, 183, 54, 0.2)",
"10-tra": "rgba(226, 183, 54, 0.1)",
},
brown: {
100: "#baa04f",
75: "#cbb87b",
50: "#dccfa7",
35: "#e7dec2",
20: "#f1ecdc",
10: "#faf8f3",
7: "#faf8f3",
4: "#fcfbf8",
"75-tra": "rgba(186, 160, 79, 0.75)",
"50-tra": "rgba(186, 160, 79, 0.5)",
"35-tra": "rgba(186, 160, 79, 0.35)",
"20-tra": "rgba(186, 160, 79, 0.2)",
"10-tra": "rgba(186, 160, 79, 0.1)",
"7-tra": "rgba(186, 160, 79, 0.07)",
"4-tra": "rgba(186, 160, 79, 0.04)",
},
greyscale: {
100: "#c3baa2",
75: "#d2cbb9",
50: "#e1dcd0",
35: "#eae7df",
20: "#f3f1ec",
10: "#f8f7f5",
8: "#fafaf9",
5: "#fcfcfb",
"75-tra": "rgba(195, 186, 162, 0.75)",
"50-tra": "rgba(195, 186, 162, 0.5)",
"35-tra": "rgba(195, 186, 162, 0.35)",
"20-tra": "rgba(195, 186, 162, 0.2)",
"10-tra": "rgba(195, 186, 162, 0.11)",
"8-tra": "rgba(192, 188, 175, 0.08)",
"5-tra": "rgba(192, 188, 175, 0.05)",
},
black: {
"80-tra": "rgba(0, 0, 0, 0.8)",
"60-tra": "rgba(0, 0, 0, 0.6)",
"40-tra": "rgba(0, 0, 0, 0.4)",
"30-tra": "rgba(0, 0, 0, 0.3)",
},
signal: {
redDark: "#ca3336",
red: "#ff3c3e",
greenDark: "#00857b",
green: "#009a8e",
blueDark: "#241ebe",
blue: "#322bf3",
},
},

Fix the implementation of Theming and styled-system

Theming is not yet implemented correctly. I (Tassillo) did not yet understand how to do this correctkly. My biggest issues were the following:

  • As Theming always comes with a Themeprovider, how is the implementation within the component-library? We need a clean way to work with for an example "primary-color"

Create the dynamic input/textarea component using the props "rows"

For an example, the Material-UI library has the component TextFields which can be used as a Inputfield as well as a textarea: https://mui.com/components/text-fields/

how can we implement it the same way? the html tag Input does not allow multirows, the html tag textarea though does.... should we always use textarea instead of input? or should we define the input component to switch between <input and <textarea if a prop rows="x" is given?

Inputs cant display the onChange events in the Storybook?

if the component-library is purely the design and the functions come as props from the main app, how can the components-stories be working?

or should the functions also be within the component-library

example: Inputfield Error-messages

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.