diff --git a/.gitbook/assets/grafik (1).png b/.gitbook/assets/grafik (1).png index cc5dade55..8fabb8555 100644 Binary files a/.gitbook/assets/grafik (1).png and b/.gitbook/assets/grafik (1).png differ diff --git a/.gitbook/assets/grafik (2).png b/.gitbook/assets/grafik (2).png deleted file mode 100644 index 8fabb8555..000000000 Binary files a/.gitbook/assets/grafik (2).png and /dev/null differ diff --git a/.gitbook/assets/grafik (3).png b/.gitbook/assets/grafik (3).png deleted file mode 100644 index 20ebd3480..000000000 Binary files a/.gitbook/assets/grafik (3).png and /dev/null differ diff --git a/.gitbook/assets/grafik-1 (1).png b/.gitbook/assets/grafik-1 (1).png new file mode 100644 index 000000000..cc5dade55 Binary files /dev/null and b/.gitbook/assets/grafik-1 (1).png differ diff --git a/.gitbook/assets/grafik-1.png b/.gitbook/assets/grafik-1.png new file mode 100644 index 000000000..cc5dade55 Binary files /dev/null and b/.gitbook/assets/grafik-1.png differ diff --git a/.gitbook/assets/grafik (4).png b/.gitbook/assets/grafik-4.png similarity index 100% rename from .gitbook/assets/grafik (4).png rename to .gitbook/assets/grafik-4.png diff --git a/.gitbook/assets/graphql-playground (1).png b/.gitbook/assets/graphql-playground (1).png new file mode 100644 index 000000000..32396a577 Binary files /dev/null and b/.gitbook/assets/graphql-playground (1).png differ diff --git a/.gitbook/assets/humanconnection (1).png b/.gitbook/assets/humanconnection (1).png new file mode 100644 index 000000000..f0576413f Binary files /dev/null and b/.gitbook/assets/humanconnection (1).png differ diff --git a/.gitbook/assets/humanconnection.png b/.gitbook/assets/humanconnection.png new file mode 100644 index 000000000..f0576413f Binary files /dev/null and b/.gitbook/assets/humanconnection.png differ diff --git a/.gitbook/assets/screenshot (1).png b/.gitbook/assets/screenshot (1).png new file mode 100644 index 000000000..b4ff4b2f9 Binary files /dev/null and b/.gitbook/assets/screenshot (1).png differ diff --git a/.gitbook/assets/screenshot-forking-nitro-backend.png b/.gitbook/assets/screenshot-forking-nitro-backend.png new file mode 100644 index 000000000..6d52dd130 Binary files /dev/null and b/.gitbook/assets/screenshot-forking-nitro-backend.png differ diff --git a/.gitbook/assets/screenshot-styleguide (1).png b/.gitbook/assets/screenshot-styleguide (1).png new file mode 100644 index 000000000..d8e009394 Binary files /dev/null and b/.gitbook/assets/screenshot-styleguide (1).png differ diff --git a/.gitbook/assets/screenshot-styleguide (2).png b/.gitbook/assets/screenshot-styleguide (2).png new file mode 100644 index 000000000..d8e009394 Binary files /dev/null and b/.gitbook/assets/screenshot-styleguide (2).png differ diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 35457d215..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,11 +0,0 @@ - - -## Issue - - - diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 58ca6b387..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: 🐛 Bug report -about: Create a report to help us improve - ---- - -## :bug: Bugreport - - - -### Steps to reproduce the behavior -1. -2. -3. -4. ... -5. Profit - - -### Expected behavior - - - -### Version & Environment - Type: [] - - OS: [] - - Browser: [] - - Version [] - - Device: [] - -### Additional context - diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index ed30ba7ad..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: 🚀 Feature request -about: Suggest an idea for this project - ---- - -## :rocket: Feature - - - -### Is your feature request related to a problem? Please describe. - - - -### Describe the prefered solution and alternatives you've considered - - - -### Design & Layout - - - -### Additional context - diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md deleted file mode 100644 index eb5a923dd..000000000 --- a/.github/ISSUE_TEMPLATE/question.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: 💬 Question -about: If you need help understanding HumanConnection. ---- - - - -## :speech_balloon: Question - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index e67351c41..000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,28 +0,0 @@ -## Pullrequest - - -### Issues - -- [X] None - -### Checklist - -- [X] None - -### How2Test - - -- [X] None - -### Todo - -- [X] None diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 0da2958ea..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,72 +0,0 @@ -Thanks so much for thinking of contributing to the Human Connection project, we really appreciate it! :-) - -### Getting Set Up - -Instructions for how to install all the necessary software can be found in our [documentation](https://docs.human-connection.org/nitro/) - -We recommend that new folks should ideally work together with an existing developer. Please join our discord instance to chat with developers or just ask them in tickets in [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f/boards?repos=152252353): - - - -Here are some general notes on our development flow: - -### Development - -* Currently operating in two week sprints -* We are using ZenHub to coordinate - - estimating time per issue is the crucial feature of [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f) that Github does not have - - "up-for-grabs" links to [Github project](https://github.com/orgs/Human-Connection/projects/10?card_filter_query=label%3A%22good+first+issue) - - ordering on ZenHub not necessarily reflected on github projects - -* AgileVentures run open pairing sessions at 10:30am UTC each week on Tuesdays and Thursdays - -* Core team - - all the people who are hired by HC non-profit corporation - - you can Meet-the-team [every two weeks in German](https://human-connection.org/veranstaltungen/) and [every month in English](https://human-connection.org/en/events/). - - 9 people - - 2 core developers (Robert [@roschaefer](https://github.com/roschaefer) and Greg [@appinteractive](https://github.com/appinteractive)) - - 3 marketeers Jasi, Dennis and Sensi - - Hardy doing business development - - Martin head of IT and previously data protection officer - - Victor doing accounting and controlling - - Nicolas is the community manager (reviews content in the network) reflects community opinion back to the core team - -* when can folks pair with Robert - - 10am UTC until 5pm UTC every working day - -### Philosophy - -We practise [collective code ownership](http://www.extremeprogramming.org/rules/collective.html) rather than strong code ownership, which means that: - -* anyone can start working on anyone elses code -* we avoid blocking because someone else isn't working on something -* however it's sometimes good to leave something in order to create successful education experience -* everyone should always push their code to branches so others can see it - -Everyone feel free to request merges or answers to issues from the project managers - -But what do we do when waiting for merge into master (wanting to keep PRs small) - --> Robert recommends creating a pull request for each step - - programming is also about thinking about other people - empathy for your co-workers - - but what about when you are waiting for merge? - - solutions - - 1) put 2nd PR into branch that the first PR is hitting - but requires update after merging - - 2) prefer to leave exiting PR until it can be reviewed, and instead go and work on some other part of the codebase that is not impacted by the first PR - -### Notes - -question: when you want to pick a task - (find out priority) - is it in discord? is it in AV slack? --> Robert says you can always ask in discord - group channels are the best - -Robert shares: [Zenhub board](https://app.zenhub.com/workspaces/nitro-embed-5c0154ecc699f60fc92cf11f/boards?repos=112590397,152252353,152252578,157710732,163305928) -Robert says the order of tickets are preserved in ZenHub and reflect their priority (most important at the top) and so check out the current milestones - -Matt - question about who can work on [ticket 100](https://app.zenhub.com/workspaces/nitro-embed-5c0154ecc699f60fc92cf11f/issues/human-connection/human-connection/100) --> Robert - in rare occasions it might be exclusive to someone with admin permissions -Robert: notes greg just pushed this today: https://github.com/Human-Connection/Nitro-Deployment - -Matt makes point that new stories will have to be taken off the "New Issues" and Robert says that's fine, if you don't like the first one, then you can take the next one. Volunteeers have no commitment except their own self development and their awesomeness by contributing to free and open-source software projects. - -Robert notes that everyone is invited to join the kickoff meetings - -Robert - difference between "important" (creates a lot of value) and "beginner friendly" (easy to implement) - - diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 9d4508b38..000000000 --- a/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Human-Connection gGmbH - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 77ac8dd4b..08a420cf5 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,42 @@ -
+# README -# Human-Connection + [](https://human-connection.org) +## Human-Connection [](https://travis-ci.com/Human-Connection/Human-Connection) Human Connection is a free and open-source social network for active citizenship. **Technology Stack** -- [VueJS](https://vuejs.org/) -- [NuxtJS](https://nuxtjs.org/) -- [GraphQL](https://graphql.org/) -- [NodeJS](https://nodejs.org/en/) -- [Neo4J](https://neo4j.com/) -## Live demo +* [VueJS](https://vuejs.org/) +* [NuxtJS](https://nuxtjs.org/) +* [GraphQL](https://graphql.org/) +* [NodeJS](https://nodejs.org/en/) +* [Neo4J](https://neo4j.com/) + +### Live demo Try out our deployed [staging environment](https://nitro-staging.human-connection.org/). Logins: -| email | password | role | -| --- | --- | --- | -| `user@example.org` | 1234 | user | -| `moderator@example.org` | 1234 | moderator | -| `admin@example.org` | 1234 | admin | +| email | password | role | +| :--- | :--- | :--- | +| `user@example.org` | 1234 | user | +| `moderator@example.org` | 1234 | moderator | +| `admin@example.org` | 1234 | admin | +### Documentation -## Documentation Learn how to set up a local development environment in our [Docs](https://docs.human-connection.org/nitro). -## Translations +### Translations + Contributre translations on [lokalise.co](https://lokalise.co/public/556252725c18dd752dd546.13222042/). -## Developer Chat +### Developer Chat + Join the open-source community on [Discord](https://discord.gg/6ub73U3). + diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 000000000..7b37054d9 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,42 @@ +# Table of contents + +* [README](README.md) +* [README](webapp/README.md) + * [COMPONENTS](webapp/components.md) + * [PLUGINS](webapp/plugins.md) + * [STORE](webapp/store.md) + * [Component Testing](webapp/component-testing.md) + * [PAGES](webapp/pages.md) + * [ASSETS](webapp/assets.md) + * [LAYOUTS](webapp/layouts.md) + * [Styleguide](webapp/styleguide.md) + * [STATIC](webapp/static.md) + * [MIDDLEWARE](webapp/middleware.md) +* [Let's change the World](documentation/README.md) + * [documentation](documentation/documentation/README.md) + * [Edit this Documentation](documentation/documentation/edit-this-documentation.md) + * [Contribute](documentation/workflow/README.md) + * [contribute](documentation/workflow/contribute/README.md) + * [Our GitHub Workflow](documentation/workflow/contribute/github-workflow.md) + * [Deployment](documentation/workflow/deployment.md) + * [Contributor Covenant Code of Conduct](documentation/code_of_conduct.md) + * [Table of contents](documentation/summary.md) +* [README](backend/README.md) + * [graphql-with-apollo](backend/graphql-with-apollo/README.md) + * [GraphQL with Apollo](backend/graphql-with-apollo/graphql-with-apollo/README.md) + * [Mocking](backend/graphql-with-apollo/graphql-with-apollo/mocking.md) + * [Seeding](backend/graphql-with-apollo/graphql-with-apollo/seeding.md) + * [Unit Testing](backend/unit-testing.md) + * [Import](backend/data-import.md) + * [Middleware](backend/middleware.md) +* [LICENSE](license.md) +* [Human-Connection Nitro \| Deployment Configuration](deployment.md) +* [concept](concept/README.md) + * [Network Specification](concept/specification.md) +* [Installation](installation.md) +* [CONTRIBUTING](contributing.md) +* [cypress](cypress/README.md) + * [Integration Testing](cypress/integration-testing.md) +* [Testing Guide](testing.md) +* [Contributor Covenant Code of Conduct](code_of_conduct.md) + diff --git a/backend/README.md b/backend/README.md index dd4c040e7..befb6e2e9 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,53 +1,50 @@ - +# README -# NITRO Backend -[](https://travis-ci.com/Human-Connection/Nitro-Backend) -[](https://github.com/Human-Connection/Nitro-Backend/blob/backend/LICENSE.md) -[](https://app.fossa.io/projects/git%2Bgithub.com%2FHuman-Connection%2FNitro-Backend?ref=badge_shield) -[](https://discord.gg/6ub73U3) + [](https://human-connection.org) -> This Prototype tries to resolve the biggest hurdle of connecting -> our services together. This is not possible in a sane way using -> our current approach. +## NITRO Backend + +[](https://travis-ci.com/Human-Connection/Nitro-Backend) [](https://github.com/Human-Connection/Nitro-Backend/blob/backend/LICENSE.md) [](https://app.fossa.io/projects/git%2Bgithub.com%2FHuman-Connection%2FNitro-Backend?ref=badge_shield) [](https://discord.gg/6ub73U3) + +> This Prototype tries to resolve the biggest hurdle of connecting our services together. This is not possible in a sane way using our current approach. > -> With this Prototype we can explore using the combination of -> GraphQL and the Neo4j Graph Database for achieving the connected -> nature of a social graph with better development experience as we -> do not need to connect data by our own any more through weird table -> structures etc. +> With this Prototype we can explore using the combination of GraphQL and the Neo4j Graph Database for achieving the connected nature of a social graph with better development experience as we do not need to connect data by our own any more through weird table structures etc. -> -> #### Advantages: -> - easer data structure -> - better connected data -> - easy to achieve "recommendations" based on actions (relations) -> - more performant and better to understand API -> - better API client that uses caching -> -> We still need to evaluate the drawbacks and estimate the development -> cost of such an approach +> + +> **Advantages:** +> +> * easer data structure +> * better connected data +> * easy to achieve "recommendations" based on actions \(relations\) +> * more performant and better to understand API +> * better API client that uses caching +> +> We still need to evaluate the drawbacks and estimate the development cost of such an approach + +### How to get in touch -## How to get in touch Connect with other developers over [Discord](https://discord.gg/6ub73U3) -## Quick Start +### Quick Start -### Requirements +#### Requirements -Node >= `v10.12.0` -``` +Node >= `v10.12.0` + +```text node --version ``` -### Forking the repository +#### Forking the repository + Before you start, fork the repository using the fork button above, then clone it to your local machine using `git clone https://github.com/your-username/Nitro-Backend.git` -### Installation with Docker +#### Installation with Docker Run: -```sh + +```bash docker-compose up # create indices etc. @@ -61,12 +58,12 @@ docker-compose exec backend yarn run db:seed App is [running on port 4000](http://localhost:4000/) To wipe out your neo4j database run: -```sh + +```bash docker-compose down -v ``` - -### Installation without Docker +#### Installation without Docker Install dependencies: @@ -75,11 +72,12 @@ Download [Neo4j Community Edition](https://neo4j.com/download-center/#releases) Download [Neo4j Apoc](https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases) and drop the file into the `plugins` folder of the just extracted Neo4j-Server Start Neo4j -``` + +```text neo4j\bin\neo4j start ``` -and confirm it's running [here](http://localhost:7474) +and confirm it's running [here](http://localhost:7474) ```bash yarn install @@ -88,9 +86,11 @@ npm install ``` Copy: -``` + +```text cp .env.template .env ``` + Configure the file `.env` according to your needs and your local setup. Start the GraphQL service: @@ -109,15 +109,13 @@ yarn start npm start ``` -This will start the GraphQL service (by default on localhost:4000) -where you can issue GraphQL requests or access GraphQL Playground in the browser: +This will start the GraphQL service \(by default on localhost:4000\) where you can issue GraphQL requests or access GraphQL Playground in the browser: - + -## Configure +### Configure -Set your Neo4j connection string and credentials in `.env`. -For example: +Set your Neo4j connection string and credentials in `.env`. For example: _.env_ @@ -129,24 +127,17 @@ NEO4J_PASSWORD=letmein > You need to install APOC as a plugin for the graph you create in the neo4j desktop app! -Note that grand-stack-starter does not currently bundle a distribution -of Neo4j. You can download [Neo4j Desktop](https://neo4j.com/download/) -and run locally for development, spin up a [hosted Neo4j Sandbox instance](https://neo4j.com/download/), -run Neo4j in one of the [many cloud options](https://neo4j.com/developer/guide-cloud-deployment/), -[spin up Neo4j in a Docker container](https://neo4j.com/developer/docker/) or on Debian-based systems install [Neo4j from the Debian Repository](http://debian.neo4j.org/). -Just be sure to update the Neo4j connection string and credentials accordingly in `.env`. +Note that grand-stack-starter does not currently bundle a distribution of Neo4j. You can download [Neo4j Desktop](https://neo4j.com/download/) and run locally for development, spin up a [hosted Neo4j Sandbox instance](https://neo4j.com/download/), run Neo4j in one of the [many cloud options](https://neo4j.com/developer/guide-cloud-deployment/), [spin up Neo4j in a Docker container](https://neo4j.com/developer/docker/) or on Debian-based systems install [Neo4j from the Debian Repository](http://debian.neo4j.org/). Just be sure to update the Neo4j connection string and credentials accordingly in `.env`. -## Mock API Results +### Mock API Results -Alternatively you can just mock all responses from the api which let -you build a frontend application without running a neo4j instance. +Alternatively you can just mock all responses from the api which let you build a frontend application without running a neo4j instance. Just set `MOCK=true` inside `.env` or pass it on application start. -## Seed and Reset the Database +### Seed and Reset the Database -Optionally you can seed the GraphQL service by executing mutations that -will write sample data to the database: +Optionally you can seed the GraphQL service by executing mutations that will write sample data to the database: ```bash yarn run db:seed @@ -162,17 +153,20 @@ yarn db:reset npm run db:reset ``` -## Run Tests +### Run Tests **Beware**: We have no multiple database setup at the moment. We clean the database after each test, running the tests will wipe out all your data! -Run the **_jest_** tests: +Run the _**jest**_ tests: + ```bash yarn run test # -or- npm run test ``` -Run the **_cucumber_** features: + +Run the _**cucumber**_ features: + ```bash yarn run test:cucumber # -or- @@ -180,17 +174,19 @@ npm run test:cucumber ``` When some tests fail, try `yarn db:reset` and after that `yarn db:seed`. Then run the tests again -## Todo`s -- [x] add jwt authentication -- [ ] get directives working correctly (@toLower, @auth, @role, etc.) -- [x] check if search is working -- [x] check if sorting is working -- [x] check if pagination is working -- [ ] check if upload is working (using graphql-yoga?) -- [x] evaluate middleware -- [ ] ignore Posts and Comments by blacklisted Users +### Todo\`s +* [x] add jwt authentication +* [ ] get directives working correctly \(@toLower, @auth, @role, etc.\) +* [x] check if search is working +* [x] check if sorting is working +* [x] check if pagination is working +* [ ] check if upload is working \(using graphql-yoga?\) +* [x] evaluate middleware +* [ ] ignore Posts and Comments by blacklisted Users + +### License -## License [](https://app.fossa.io/projects/git%2Bgithub.com%2FHuman-Connection%2FNitro-Backend?ref=badge_large) + diff --git a/backend/graphql-with-apollo/README.md b/backend/graphql-with-apollo/README.md new file mode 100644 index 000000000..0d5e196cb --- /dev/null +++ b/backend/graphql-with-apollo/README.md @@ -0,0 +1,2 @@ +# graphql-with-apollo + diff --git a/backend/graphql-with-apollo/graphql-with-apollo/README.md b/backend/graphql-with-apollo/graphql-with-apollo/README.md index cbea05e36..7fe29fd72 100644 --- a/backend/graphql-with-apollo/graphql-with-apollo/README.md +++ b/backend/graphql-with-apollo/graphql-with-apollo/README.md @@ -2,7 +2,5 @@ GraphQL is a data query language which provides an alternative to REST and ad-hoc web service architectures. It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server. - - - + diff --git a/backend/graphql-with-apollo/graphql-with-apollo/mocking.md b/backend/graphql-with-apollo/graphql-with-apollo/mocking.md index 1a22cfe57..49c6fd1a7 100644 --- a/backend/graphql-with-apollo/graphql-with-apollo/mocking.md +++ b/backend/graphql-with-apollo/graphql-with-apollo/mocking.md @@ -1,6 +1,6 @@ # Mocking -### Mocking API Results +## Mocking API Results Alternatively you can just mock all responses from the api which let you build a frontend application without running a neo4j instance. diff --git a/backend/middleware.md b/backend/middleware.md index 9b0843288..6a0bf2f57 100644 --- a/backend/middleware.md +++ b/backend/middleware.md @@ -1,6 +1,6 @@ # Middleware - + ## Middleware keeps resolvers clean diff --git a/backend/unit-testing.md b/backend/unit-testing.md index 5b3ffcad1..600973450 100644 --- a/backend/unit-testing.md +++ b/backend/unit-testing.md @@ -1,4 +1,2 @@ # Unit Testing - - diff --git a/CODE_OF_CONDUCT.md b/code_of_conduct.md similarity index 92% rename from CODE_OF_CONDUCT.md rename to code_of_conduct.md index 19f3854c1..b331a1736 100644 --- a/CODE_OF_CONDUCT.md +++ b/code_of_conduct.md @@ -40,7 +40,5 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/) -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/concept/README.md b/concept/README.md new file mode 100644 index 000000000..c3b29e038 --- /dev/null +++ b/concept/README.md @@ -0,0 +1,2 @@ +# concept + diff --git a/concept/specification.md b/concept/specification.md index fd0133105..04ad65606 100644 --- a/concept/specification.md +++ b/concept/specification.md @@ -1,256 +1,253 @@ # Network Specification -Human Connection is a nonprofit social, action and knowledge network that connects information to action and promotes positive local and global change in all areas of life. +Human Connection is a nonprofit social, action and knowledge network that connects information to action and promotes positive local and global change in all areas of life. -- **Social**: Interact with other people not just by commenting their posts, but by providing **Pro & Contra** arguments, give a **Versus** or ask them by integrated **Chat** or **Let's Talk** - -- **Knowledge**: Read articles about interesting topics and find related posts in the **More Info** tab or by **Filtering** based on **Categories** and **Tagging** or by using the **Fulltext Search**. - -- **Action**: Don't just read about how to make the world a better place, but come into **Action** by following provided suggestions on the **Action** tab provided by other people or **Organisations**. +* **Social**: Interact with other people not just by commenting their posts, but by providing **Pro & Contra** arguments, give a **Versus** or ask them by integrated **Chat** or **Let's Talk** +* **Knowledge**: Read articles about interesting topics and find related posts in the **More Info** tab or by **Filtering** based on **Categories** and **Tagging** or by using the **Fulltext Search**. +* **Action**: Don't just read about how to make the world a better place, but come into **Action** by following provided suggestions on the **Action** tab provided by other people or **Organisations**. ## Features -The following features will be implemented. This gets done in three steps: - -1. First we will implement a basic feature set and provide a test system to test the basic network functionality. +The following features will be implemented. This gets done in three steps: +1. First we will implement a basic feature set and provide a test system to test the basic network functionality. 2. In a second step we will make our prototype publicly available with an advanced feature set including the technology and organizational structure to drive a bigger public social network. - -3. In a third step all the remaining features will be implemented to build the full product. +3. In a third step all the remaining features will be implemented to build the full product. ### User Account -- Sign-up -- Agree to Data Privacy Statement -- Agree to Terms of Service -- Login -- Logoff -- Change User Name -- Change Email Address -- Change Password -- Delete Account -- Download User's Content -- GDPR-Information about stored Content -- Choosing Interface Language (e.g. German / English / French) +* Sign-up +* Agree to Data Privacy Statement +* Agree to Terms of Service +* Login +* Logoff +* Change User Name +* Change Email Address +* Change Password +* Delete Account +* Download User's Content +* GDPR-Information about stored Content +* Choosing Interface Language \(e.g. German / English / French\) ### User Profile -- Upload and Change Avatar -- Upload and Change Profile Picture -- Edit Social Media Accounts -- Edit Locale information -- Show and delete Bookmarks (later) -- Show Posts of a specific User -- Show Comments of a specific User +* Upload and Change Avatar +* Upload and Change Profile Picture +* Edit Social Media Accounts +* Edit Locale information +* Show and delete Bookmarks \(later\) +* Show Posts of a specific User +* Show Comments of a specific User ### Cockpit [Clickdummy](https://preview.uxpin.com/24a2ab8adcd84f9a763d87ed27251351225e0ecd#/pages/99768919/simulate/sitemap?mode=i) -- Show Link to own Profile -- Show Friends Widget -- Show Favorites Widget -- Show Get Friends Widget -- Show popular Hashtags Widget -- Show Mini-Statistics Widget (all time) -- Show Chatrooms Widget -- Show List of Let's Talk requests with online status of requesting people +* Show Link to own Profile +* Show Friends Widget +* Show Favorites Widget +* Show Get Friends Widget +* Show popular Hashtags Widget +* Show Mini-Statistics Widget \(all time\) +* Show Chatrooms Widget +* Show List of Let's Talk requests with online status of requesting people ### Posts -- Creating Posts -- Upload Teaser Picture for Post -- Upload additional Pictures -- Editing Title and Content -- Allow embedded Conten (Videos, Sound, ...) -- Choosing a Category -- Adding Tags -- Choosing Language (e.g. German / English / French) -- Choosing Visibility (Public / Friends / Private) -- Shout Button for Posts -- Bookmark Posts (later) -- Optionally provide Let's Talk Feature -- Optionally provide Commenting Feature +* Creating Posts +* Upload Teaser Picture for Post +* Upload additional Pictures +* Editing Title and Content +* Allow embedded Conten \(Videos, Sound, ...\) +* Choosing a Category +* Adding Tags +* Choosing Language \(e.g. German / English / French\) +* Choosing Visibility \(Public / Friends / Private\) +* Shout Button for Posts +* Bookmark Posts \(later\) +* Optionally provide Let's Talk Feature +* Optionally provide Commenting Feature ### Comments -- Creating Comments -- Deleting Comments -- Editing Comments -- Upvote comments of others +* Creating Comments +* Deleting Comments +* Editing Comments +* Upvote comments of others ### Contribution List -- Show Posts by Tiles -- Show Posts as List -- Filter by Category (Health and Wellbeing, Global Peace & Non-Violence, ...) -- Filter by Mood (Funny, Happy, Surprised, Cry, Angry, ...) -- Filter by Source (Connections, Following, Individuals, Non-Profits, ...) -- Filter by Posts & Tools (Post, Events, CanDos, ...) -- Filter by Format Type (Text, Pictures, Video, ...) -- Extended Filter (Continent, Country, Language, ...) -- Sort Posts by Date -- Sort Posts by Shouts -- Sort Posts by most Comments -- Sort Posts by Emoji-Count (all Types) +* Show Posts by Tiles +* Show Posts as List +* Filter by Category \(Health and Wellbeing, Global Peace & Non-Violence, ...\) +* Filter by Mood \(Funny, Happy, Surprised, Cry, Angry, ...\) +* Filter by Source \(Connections, Following, Individuals, Non-Profits, ...\) +* Filter by Posts & Tools \(Post, Events, CanDos, ...\) +* Filter by Format Type \(Text, Pictures, Video, ...\) +* Extended Filter \(Continent, Country, Language, ...\) +* Sort Posts by Date +* Sort Posts by Shouts +* Sort Posts by most Comments +* Sort Posts by Emoji-Count \(all Types\) ### Blacklist [Video](https://www.youtube.com/watch?v=-uDvvmN8hLQ) -- Blacklist Users -- Blacklist specific Terms -- Blacklist Tags -- Switch on/off Adult Content +* Blacklist Users +* Blacklist specific Terms +* Blacklist Tags +* Switch on/off Adult Content ### Search -- Search for Categories -- Search for Tags -- Fulltext Search +* Search for Categories +* Search for Tags +* Fulltext Search ### CanDos -- Creating CanDos -- Editing Title and Content -- Choosing a Category -- Adding Tags -- Choosing Language (e.g. German / English / French) -- Choosing Visibility (Public / Friends / Private) -- Choosing Difficulty -- Editing Why - why should you do this -- Editing Usefulness - what is it good for +* Creating CanDos +* Editing Title and Content +* Choosing a Category +* Adding Tags +* Choosing Language \(e.g. German / English / French\) +* Choosing Visibility \(Public / Friends / Private\) +* Choosing Difficulty +* Editing Why - why should you do this +* Editing Usefulness - what is it good for -### Versus (interaction on existing Post) +### Versus \(interaction on existing Post\) -- Create / edit / delete Versus +* Create / edit / delete Versus ### Jobs -- Create, edit and delete Jobs by an User -- Handle Jobs as Part of Projects -- Handle Jobs done by Organizations +* Create, edit and delete Jobs by an User +* Handle Jobs as Part of Projects +* Handle Jobs done by Organizations ### Projects -- Create, edit and delete Projects -- Edit Title and Description for the Project -- Set Project Type -- Set and Edit Timeline for the Project -- Add Media to the Project -- Chat about the Project +* Create, edit and delete Projects +* Edit Title and Description for the Project +* Set Project Type +* Set and Edit Timeline for the Project +* Add Media to the Project +* Chat about the Project ### Pro & Contra -- Create Pro and Con (2-row) -- Add Arguments on Pro or Con Side -- Rate up Arguments -- Add Tags -- Attach Media +* Create Pro and Con \(2-row\) +* Add Arguments on Pro or Con Side +* Rate up Arguments +* Add Tags +* Attach Media ### Votes -- Create Votes (Surveys with two or more Choices) -- Add Title and Description -- Let Users vote -- Add Tags +* Create Votes \(Surveys with two or more Choices\) +* Add Title and Description +* Let Users vote +* Add Tags ### Bestlist -- Create Bestlist -- Create Votes (Surveys) -- Add Title and Description -- Add Tags -- Let Users vote for Best Item -- Set Settings (allow Uploads, allow Links, ...) +* Create Bestlist +* Create Votes \(Surveys\) +* Add Title and Description +* Add Tags +* Let Users vote for Best Item +* Set Settings \(allow Uploads, allow Links, ...\) ### Events -- Create Events -- Add Title and Description -- Choose Date and Location -- Add Tags +* Create Events +* Add Title and Description +* Choose Date and Location +* Add Tags ### More Info Shows autmatically releated information for existing post. -- Show related Posts -- Show Pros and Cons -- Show Bestlist -- Show Votes -- Link to corresponding Chatroom +* Show related Posts +* Show Pros and Cons +* Show Bestlist +* Show Votes +* Link to corresponding Chatroom ### Take Action Shows automatically related actions for existing post. -- Show related Organisations -- Show related CanDos -- Show related Projects -- Show related Jobs -- Show related Events -- Show Map +* Show related Organisations +* Show related CanDos +* Show related Projects +* Show related Jobs +* Show related Events +* Show Map ### Badges System -- Importing Badge Information (CSV) -- Showing Badges -- Badge Administration by Admins -- Choosing Badges to display by User +* Importing Badge Information \(CSV\) +* Showing Badges +* Badge Administration by Admins +* Choosing Badges to display by User ### Chat -- Basic 1:1 Chat functionality +* Basic 1:1 Chat functionality ### Let's Talk -- Request Let's talk with Author of Post -- Requestor can request private or public Let's Talk -- Requestor can choose the Chat format (Video, Audio, Text) -- Interact with interested People 1:1 -- Approve request from Requestor +* Request Let's talk with Author of Post +* Requestor can request private or public Let's Talk +* Requestor can choose the Chat format \(Video, Audio, Text\) +* Interact with interested People 1:1 +* Approve request from Requestor ### Organizations -- Propose Organizations by users -- Set Name and Details -- Set Homepage -- Set Region -- Set Topic -- Commit organizations by HC-Org-Team -- Panel for Organisation Handling by themselfes -- Choose/Mark Users as authorized to manage an Organization +* Propose Organizations by users +* Set Name and Details +* Set Homepage +* Set Region +* Set Topic +* Commit organizations by HC-Org-Team +* Panel for Organisation Handling by themselfes +* Choose/Mark Users as authorized to manage an Organization ### Moderation -- Report Button for users for doubtful Content -- Moderator Panel -- List of reported Content (later replaced by User-Moderation) -- Mark verified Users as Moderators -- Show Posts to be moderated highlighted to User-Moderators -- Statistics about kinds of reported Content by Time -- Statistics about Decisions in Moderation +* Report Button for users for doubtful Content +* Moderator Panel +* List of reported Content \(later replaced by User-Moderation\) +* Mark verified Users as Moderators +* Show Posts to be moderated highlighted to User-Moderators +* Statistics about kinds of reported Content by Time +* Statistics about Decisions in Moderation ### Administration -- Provide Admin-Interface to send Users Invite Code -- Static Pages for Data Privacy Statement ... -- Create, edit and delete Announcements -- Show Announcements on top of User Interface +* Provide Admin-Interface to send Users Invite Code +* Static Pages for Data Privacy Statement ... +* Create, edit and delete Announcements +* Show Announcements on top of User Interface ### Invitation -- Allow Users to invite others by Email -- Allow Users to register with Invite Code -- Double-opt-in by Email +* Allow Users to invite others by Email +* Allow Users to register with Invite Code +* Double-opt-in by Email ### Federation -- Provide Server-Server ActivityPub-API -- Provide User-Server Activitypub-API -- Receiving public addressed Article and Note Objects -- Receiving Like and Follow Activities -- Receiving Undo and Delete Activities for Articles and Notes -- Serving Webfinger records and Actor Objects -- Serving Followers, Following and Outbox collections +* Provide Server-Server ActivityPub-API +* Provide User-Server Activitypub-API +* Receiving public addressed Article and Note Objects +* Receiving Like and Follow Activities +* Receiving Undo and Delete Activities for Articles and Notes +* Serving Webfinger records and Actor Objects +* Serving Followers, Following and Outbox collections + diff --git a/contributing.md b/contributing.md new file mode 100644 index 000000000..0b0c6ce68 --- /dev/null +++ b/contributing.md @@ -0,0 +1,68 @@ +# CONTRIBUTING + +Thanks so much for thinking of contributing to the Human Connection project, we really appreciate it! :-\) + +## Getting Set Up + +Instructions for how to install all the necessary software can be found in our [documentation](https://docs.human-connection.org/nitro/) + +We recommend that new folks should ideally work together with an existing developer. Please join our discord instance to chat with developers or just ask them in tickets in [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f/boards?repos=152252353): + + + +Here are some general notes on our development flow: + +## Development + +* Currently operating in two week sprints +* We are using ZenHub to coordinate + * estimating time per issue is the crucial feature of [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f) that Github does not have + * "up-for-grabs" links to [Github project](https://github.com/orgs/Human-Connection/projects/10?card_filter_query=label%3A"good+first+issue) + * ordering on ZenHub not necessarily reflected on github projects +* AgileVentures run open pairing sessions at 10:30am UTC each week on Tuesdays and Thursdays +* Core team + * all the people who are hired by HC non-profit corporation + * you can Meet-the-team [every two weeks in German](https://human-connection.org/veranstaltungen/) and [every month in English](https://human-connection.org/en/events/). + * 9 people + * 2 core developers \(Robert [@roschaefer](https://github.com/roschaefer) and Greg [@appinteractive](https://github.com/appinteractive)\) + * 3 marketeers Jasi, Dennis and Sensi + * Hardy doing business development + * Martin head of IT and previously data protection officer + * Victor doing accounting and controlling + * Nicolas is the community manager \(reviews content in the network\) reflects community opinion back to the core team +* when can folks pair with Robert + * 10am UTC until 5pm UTC every working day + +## Philosophy + +We practise [collective code ownership](http://www.extremeprogramming.org/rules/collective.html) rather than strong code ownership, which means that: + +* anyone can start working on anyone elses code +* we avoid blocking because someone else isn't working on something +* however it's sometimes good to leave something in order to create successful education experience +* everyone should always push their code to branches so others can see it + +Everyone feel free to request merges or answers to issues from the project managers + +But what do we do when waiting for merge into master \(wanting to keep PRs small\) --> Robert recommends creating a pull request for each step + +* programming is also about thinking about other people - empathy for your co-workers + * but what about when you are waiting for merge? + * solutions + * 1\) put 2nd PR into branch that the first PR is hitting - but requires update after merging + * 2\) prefer to leave exiting PR until it can be reviewed, and instead go and work on some other part of the codebase that is not impacted by the first PR + +## Notes + +question: when you want to pick a task - \(find out priority\) - is it in discord? is it in AV slack? --> Robert says you can always ask in discord - group channels are the best + +Robert shares: [Zenhub board](https://app.zenhub.com/workspaces/nitro-embed-5c0154ecc699f60fc92cf11f/boards?repos=112590397,152252353,152252578,157710732,163305928) Robert says the order of tickets are preserved in ZenHub and reflect their priority \(most important at the top\) and so check out the current milestones + +Matt - question about who can work on [ticket 100](https://app.zenhub.com/workspaces/nitro-embed-5c0154ecc699f60fc92cf11f/issues/human-connection/human-connection/100) --> Robert - in rare occasions it might be exclusive to someone with admin permissions Robert: notes greg just pushed this today: [https://github.com/Human-Connection/Nitro-Deployment](https://github.com/Human-Connection/Nitro-Deployment) + +Matt makes point that new stories will have to be taken off the "New Issues" and Robert says that's fine, if you don't like the first one, then you can take the next one. Volunteeers have no commitment except their own self development and their awesomeness by contributing to free and open-source software projects. + +Robert notes that everyone is invited to join the kickoff meetings + +Robert - difference between "important" \(creates a lot of value\) and "beginner friendly" \(easy to implement\) + diff --git a/cypress/README.md b/cypress/README.md new file mode 100644 index 000000000..0f986ba96 --- /dev/null +++ b/cypress/README.md @@ -0,0 +1,2 @@ +# cypress + diff --git a/cypress/integration-testing.md b/cypress/integration-testing.md index 1383e71a8..952940966 100644 --- a/cypress/integration-testing.md +++ b/cypress/integration-testing.md @@ -1,23 +1,24 @@ # Integration Testing -### Run Tests +## Run Tests To run the tests, make sure you are at the root level of the project, in your console and run the following command: ```bash $ yarn cypress:setup ``` + After verifying that there are no errors with the servers starting, open another tab in your terminal and run the following command: ```bash $ yarn cypress:run ``` - + After the test runs, you will also get some video footage of the test run which you can then analyse in more detail. -### Open Interactive Test Console +## Open Interactive Test Console If you are like me, you might want to see some visual output. The interactive cypress environment also helps at debugging your tests, you can even time travel between individual steps and see the exact state of the app. @@ -27,9 +28,9 @@ To use this feature, you will still run the `yarn cypress:setup` above, but inst $ yarn cypress:open ``` - + -### Write some Tests +## Write some Tests Check out the Cypress documentation for further information on how to write tests: [https://docs.cypress.io/guides/getting-started/writing-your-first-test.html\#Write-a-simple-test](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html#Write-a-simple-test) diff --git a/deployment/README.md b/deployment.md similarity index 72% rename from deployment/README.md rename to deployment.md index f8cff30eb..507d7ff2c 100644 --- a/deployment/README.md +++ b/deployment.md @@ -1,34 +1,33 @@ -# Human-Connection Nitro | Deployment Configuration +# Human-Connection Nitro \| Deployment Configuration + [](https://travis-ci.com/Human-Connection/Nitro-Deployment) Todos: -- [x] check labels and selectors if they all are correct -- [x] configure NGINX from yml -- [x] configure Let's Encrypt cert-manager from yml -- [x] configure ingress from yml -- [x] configure persistent & shared storage between nodes -- [x] reproduce setup locally + +* [x] check labels and selectors if they all are correct +* [x] configure NGINX from yml +* [x] configure Let's Encrypt cert-manager from yml +* [x] configure ingress from yml +* [x] configure persistent & shared storage between nodes +* [x] reproduce setup locally ## Minikube -There are many Kubernetes distributions, but if you're just getting started, -Minikube is a tool that you can use to get your feet wet. + +There are many Kubernetes distributions, but if you're just getting started, Minikube is a tool that you can use to get your feet wet. [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) Open minikube dashboard: -``` + +```text $ minikube dashboard ``` -This will give you an overview. -Some of the steps below need some timing to make ressources available to other -dependent deployments. Keeping an eye on the dashboard is a great way to check -that. -Follow the [installation instruction](#installation-with-kubernetes) below. -If all the pods and services have settled and everything looks green in your -minikube dashboard, expose the `nitro-web` service on your host system with: +This will give you an overview. Some of the steps below need some timing to make ressources available to other dependent deployments. Keeping an eye on the dashboard is a great way to check that. -```shell +Follow the [installation instruction](deployment.md#installation-with-kubernetes) below. If all the pods and services have settled and everything looks green in your minikube dashboard, expose the `nitro-web` service on your host system with: + +```text $ minikube service nitro-web --namespace=human-connection ``` @@ -36,9 +35,9 @@ $ minikube service nitro-web --namespace=human-connection 1. At first, create a cluster on Digital Ocean. 2. Download the config.yaml if the process has finished. -3. Put the config file where you can find it later (preferable in your home directory under `~/.kube/`) +3. Put the config file where you can find it later \(preferable in your home directory under `~/.kube/`\) 4. In the open terminal you can set the current config for the active session: `export KUBECONFIG=~/.kube/THE-NAME-OF-YOUR-CLUSTER-kubeconfig.yaml`. You could make this change permanent by adding the line to your `.bashrc` or `~/.config/fish/config.fish` depending on your shell. - + Otherwise you would have to always add `--kubeconfig ~/.kube/THE-NAME-OF-YOUR-CLUSTER-kubeconfig.yaml` on every `kubectl` command that you are running. 5. Now check if you can connect to the cluster and if its your newly created one by running: `kubectl get nodes` @@ -46,17 +45,21 @@ $ minikube service nitro-web --namespace=human-connection If you got the steps right above and see your nodes you can continue. First, install kubernetes dashboard: -```sh + +```bash $ kubectl apply -f dashboard/ $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml - ``` + Get your token on the command line: -```sh + +```bash $ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') ``` + It should print something like: -``` + +```text Name: admin-user-token-6gl6l Namespace: kube-system Labels:
+### Attributions
-## Attributions
+Locale Icons made by [Freepik](http://www.freepik.com/) from [www.flaticon.com](https://www.flaticon.com/) is licensed by [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/)
-
+### License
-## License
[](https://app.fossa.io/projects/git%2Bgithub.com%2FHuman-Connection%2FNitro-Web?ref=badge_large)
+
diff --git a/webapp/assets/README.md b/webapp/assets.md
similarity index 99%
rename from webapp/assets/README.md
rename to webapp/assets.md
index 34766f934..06786539d 100644
--- a/webapp/assets/README.md
+++ b/webapp/assets.md
@@ -5,3 +5,4 @@
This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
+
diff --git a/webapp/component-testing.md b/webapp/component-testing.md
index b1a6bb8c8..8da854316 100644
--- a/webapp/component-testing.md
+++ b/webapp/component-testing.md
@@ -4,4 +4,5 @@ We are using `Jest` as our test runner, along with `vue-test-utils`.
Head over and check out the documentation on [Jest](https://jestjs.io/docs/en/getting-started.html)
-Also, check out [vue-test-utils](https://vue-test-utils.vuejs.org/)
\ No newline at end of file
+Also, check out [vue-test-utils](https://vue-test-utils.vuejs.org/)
+
diff --git a/webapp/components/README.md b/webapp/components.md
similarity index 99%
rename from webapp/components/README.md
rename to webapp/components.md
index a079f1060..be43ae454 100644
--- a/webapp/components/README.md
+++ b/webapp/components.md
@@ -5,3 +5,4 @@
The components directory contains your Vue.js Components.
_Nuxt.js doesn't supercharge these components._
+
diff --git a/webapp/layouts/README.md b/webapp/layouts.md
similarity index 99%
rename from webapp/layouts/README.md
rename to webapp/layouts.md
index cad1ad573..300b5af89 100644
--- a/webapp/layouts/README.md
+++ b/webapp/layouts.md
@@ -5,3 +5,4 @@
This directory contains your Application Layouts.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
+
diff --git a/webapp/middleware/README.md b/webapp/middleware.md
similarity index 56%
rename from webapp/middleware/README.md
rename to webapp/middleware.md
index 009e48c55..92c2ba10b 100644
--- a/webapp/middleware/README.md
+++ b/webapp/middleware.md
@@ -2,7 +2,7 @@
**This directory is not required, you can delete it if you don't want to use it.**
-This directory contains your application middleware.
-The middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts).
+This directory contains your application middleware. The middleware lets you define custom function to be ran before rendering a page or a group of pages \(layouts\).
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
+
diff --git a/webapp/pages.md b/webapp/pages.md
new file mode 100644
index 000000000..352c9fa04
--- /dev/null
+++ b/webapp/pages.md
@@ -0,0 +1,6 @@
+# PAGES
+
+This directory contains your Application Views and Routes. The framework reads all the `*.vue` files inside this directory and create the router of your application.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
+
diff --git a/webapp/pages/README.md b/webapp/pages/README.md
deleted file mode 100644
index 7a6cffa65..000000000
--- a/webapp/pages/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# PAGES
-
-This directory contains your Application Views and Routes.
-The framework reads all the `*.vue` files inside this directory and create the router of your application.
-
-More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
diff --git a/webapp/plugins/README.md b/webapp/plugins.md
similarity index 99%
rename from webapp/plugins/README.md
rename to webapp/plugins.md
index 0d227f3ff..a54b05d0b 100644
--- a/webapp/plugins/README.md
+++ b/webapp/plugins.md
@@ -5,3 +5,4 @@
This directory contains your Javascript plugins that you want to run before mounting the root Vue.js application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
+
diff --git a/webapp/static/README.md b/webapp/static.md
similarity index 74%
rename from webapp/static/README.md
rename to webapp/static.md
index 3fc500234..748e8c5ed 100644
--- a/webapp/static/README.md
+++ b/webapp/static.md
@@ -2,9 +2,9 @@
**This directory is not required, you can delete it if you don't want to use it.**
-This directory contains your static files.
-Each file inside this directory is mapped to `/`.
+This directory contains your static files. Each file inside this directory is mapped to `/`.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
+
diff --git a/webapp/store/README.md b/webapp/store.md
similarity index 73%
rename from webapp/store/README.md
rename to webapp/store.md
index 111fea1b3..1310aa2da 100644
--- a/webapp/store/README.md
+++ b/webapp/store.md
@@ -2,9 +2,9 @@
**This directory is not required, you can delete it if you don't want to use it.**
-This directory contains your Vuex Store files.
-Vuex Store option is implemented in the Nuxt.js framework.
+This directory contains your Vuex Store files. Vuex Store option is implemented in the Nuxt.js framework.
Creating a file in this directory activate the option in the framework automatically.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
+
diff --git a/webapp/styleguide.md b/webapp/styleguide.md
index 97f3f3f6d..1c3951494 100644
--- a/webapp/styleguide.md
+++ b/webapp/styleguide.md
@@ -4,8 +4,9 @@ For this Projoject we decided to use [Jörg Bayreuther's](https://github.com/vis

-### Checkout the Styleguide
+## Checkout the Styleguide
It's now an npm package. Want to help with it's development or maintenance?
[Head over to the repo](https://github.com/Human-Connection/Nitro-Styleguide)
+