Giter VIP home page Giter VIP logo

nursing-home-volunteer's Introduction

Seniorenaktivierung

This project is a blog website with a content management system (CMS) for volunteers in nursing homes. These volunteers often offer so called activations ("Aktivierungen" in German) which are activities to keep the elderly busy.

Each activation must be planned and prepared in the volunteers' free time and may take several hours to complete although the actual activation only dues around 45 to 60 minutes.

The goal of this project is to provide place for volunteers to share their knowledge and already planned activations so others can get inspiration and see what they offer.

The project was started as part of a computer science student project by @larsrickert at the DHBW Mosbach university.

The blog is live on: https://seniorenaktivierung.de

Documentation

An in-depth documentation of the project can be found in docs.pdf which is the compiled LaTeX documentation found in docs folder.

Contribution

Thank you for your interest in contributing to our project! Check the contribution guide for how to contribute to this project.

Technologies

The frontend (blog) is created with Vue.js, TypeScript, Sass and Bootstrap 5.

The backend (CMS) is created with the Strapi headless CMS.


Start project (with Docker)

Prerequisites

Make sure to Docker and docker-compose installed on your machine.

Step 1: Set database credentials

  • Copy .env.example file, rename it to .env and change the environment variables' values to whatever to like.

The .env file is added to .gitignore and should NOT BE CHECKED IN TO GIT!

Step 2: Change docker-compose.yml if running locally

The docker-compose.yml is configured to be deployed on a linux server (see docs.pdf ). If you want to run the applications locally and not in the context of the server, you have to make the following changes to docker-compose.yml:

  1. Remove networks definition

  2. Add port bindings For strapi:

    ports:
      - '1337:1337'
    

    For frontend:

    ports:
      - '80:80'
    

Step 3: Start database, backend and frontend for production

# Start backend, db and frontend with docker locally
docker-compose up -d
# When new changes are available: rebuild frontend and backend image and restart everything
docker-compose up -d --build

Step 3: Configure Backend

  1. Login to strapi at http://localhost:1337/admin. If you just created a clean installation/database you will be asked to create an admin user account.
  2. Go to http://localhost:1337/admin/settings/users-permissions/roles
  3. Click on Public
  4. Under Tab "Permissions", open "Application" accordion and check "find" and "findone". This will allowed the frontend to request the blog posts without an API key.

nursing-home-volunteer's People

nursing-home-volunteer's Issues

Prototyp a demo blog entry

The blog entry should have at least the following content:

  • title
  • description
  • audio section
  • video section
  • image section

You are welcome to use dummy content for demonstration purposes.

Connect CMS API with front end

Provide the demo content of the CMS by means of an restful API as well as consume and render it in the front end prototype.

docs: write "About this project" in README

Write a short introduction about the project. Describe the intention this project is made for and the environment of a student research project at the cooperative state university.

update readme

add a comment about wich node version has to be used and how to check the current version

Use Vue 3 with Vite instead of Nuxt 2

We are currently using Nuxt 2 which still uses Vue 2 under the hood. I would like to use the latest version vue 3 with vite This would enable several benefits:

  • much faster development server start time
  • faster builds
  • smaller bundle/build size
  • more modern vue features (especially for future developers it would be a good idea to use vue 3 because they will not likely learn vue 2 then)
  • simpler components due to vue 3 <script setup>
  • better typescript support
  • more explicit coding, e.g. in nuxt components get imported automatically which might make development easier but I'm am a fan of coding explicitly what the app should do
  • better linting which prevents errors (this benefit is caused by the more explizit coding)

Some other notes:

  • I have a template app for vue 3 with vite so the transition from our current nuxt project will not take much time
  • I will have to check if bootstrap vue works with vite

What are your thoughts on this?

Write documentation about project structure

Documentation should include the following:

Frontend:

  • Folder structure
  • instructions how to install/start/build the frontend locally
  • screenshots of the frontend
  • how it interacts with the backend

Backend:

  • Strapi GUI (with screenshots)
  • Structure of the blog post content type
  • How to install/start/build the backend locally

Update .gitignore

VS Code provided me following hint

The git repository at '/mnt/c/github/nursing-home-volunteer' has too many active changes, only a subset of Git features will be enabled. Would you like to add 'node_modules' to .gitignore?

Please update the .gitignore file.

Switch to sqlite for local development

  • Currently you need a local postgres running (or run the project with docker-compose) to start strapi
  • Change to database config so that it will use a local sqlite database when no postgres is provided

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.