├── .prettierrc.json ├── .prettierignore ├── nodemon.json ├── .eslintignore ├── client ├── public │ ├── favicon.ico │ ├── logo192.png │ ├── logo512.png │ ├── robots.txt │ ├── manifest.json │ └── index.html ├── src │ ├── assets │ │ ├── fonts │ │ │ └── Roboto-Medium.ttf │ │ ├── plus-icon.svg │ │ ├── message-icon.svg │ │ ├── account-icon.svg │ │ ├── mail-icon.svg │ │ ├── add-contact-icon.svg │ │ ├── lock-icon.svg │ │ └── settings-icon.svg │ ├── App.test.js │ ├── setupTests.js │ ├── stories │ │ ├── Header.stories.js │ │ ├── Footer.stories.js │ │ ├── ChannelScreen.stories.js │ │ ├── BasicForm.stories.js │ │ └── ChannelCard.stories.js │ ├── App.js │ ├── api │ │ └── channel.js │ ├── index.js │ ├── GlobalStyles.js │ ├── components │ │ ├── ChannelCard.js │ │ ├── Footer.js │ │ ├── Modal.js │ │ ├── Header.js │ │ └── BasicForm.js │ ├── pages │ │ └── ChannelScreen.js │ └── serviceWorker.js ├── .storybook │ ├── main.js │ └── preview.js ├── .gitignore ├── package.json └── README.md ├── README.md ├── .github ├── ISSUE_TEMPLATE │ └── user-story.md └── workflows │ └── node.js.yml ├── .eslintrc.json ├── server.js ├── LICENSE ├── db.json ├── package.json └── .gitignore /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | build 2 | coverage -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- 1 | { "ignore": ["client/*", "db.json"] } 2 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | **/node_modules/ 2 | **/build/ 3 | **/storybook-static -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mskradde/toddley/HEAD/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mskradde/toddley/HEAD/client/public/logo192.png -------------------------------------------------------------------------------- /client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mskradde/toddley/HEAD/client/public/logo512.png -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /client/src/assets/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mskradde/toddley/HEAD/client/src/assets/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Node.js CI](https://github.com/mskradde/kindergarden-chat/workflows/Node.js%20CI/badge.svg) 2 | 3 | # kindergarden-chat 4 | 5 | A Chat-App especially for playschools. 6 | -------------------------------------------------------------------------------- /client/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { render } from "@testing-library/react"; 3 | import App from "./App"; 4 | 5 | test("renders without crashing", () => { 6 | render(); 7 | }); 8 | -------------------------------------------------------------------------------- /client/.storybook/main.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"], 3 | addons: [ 4 | "@storybook/addon-links", 5 | "@storybook/addon-essentials", 6 | "@storybook/preset-create-react-app", 7 | ], 8 | }; 9 | -------------------------------------------------------------------------------- /client/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import "@testing-library/jest-dom/extend-expect"; 6 | -------------------------------------------------------------------------------- /client/src/assets/plus-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/stories/Header.stories.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | import Header from "../components/Header"; 4 | 5 | export default { 6 | title: "Header", 7 | component: Header, 8 | }; 9 | 10 | const Template = () =>
; 11 | 12 | export const LargeHeader = Template.bind({}); 13 | -------------------------------------------------------------------------------- /client/src/assets/message-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/assets/account-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/assets/mail-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/stories/Footer.stories.js: -------------------------------------------------------------------------------- 1 | import { BrowserRouter as Router } from "react-router-dom"; 2 | import React from "react"; 3 | 4 | import Footer from "../components/Footer"; 5 | 6 | export default { 7 | title: "Footer", 8 | component: Footer, 9 | }; 10 | 11 | const Template = () => ( 12 | 13 |