Skip to content
Snippets Groups Projects
Select Git revision
  • aa9154e0eb8d880c3ea0bfe578330120c8e33bd5
  • main default protected
  • 21-replace-mongodb-deployment-with-statefulset
  • 20-repackage-application-with-a-helm-chart
  • 20-repackage-application-with-a-helm-chart-2
  • 19-run-the-application-on-kubernetes-locally-using-minikube
  • 17-exercise-3-scaling-mandatory-features-2
  • 18-exercise-3-scaling-additional-features
  • 17-exercise-3-scaling-mandatory-features
  • 15-secure-database
  • 14-containerize-application
  • 12-write-deployment-and-usage-instructions
  • 12-write-deployment-and-usage-instructions-2
13 results

cloudcomputing_act1

  • Clone with SSH
  • Clone with HTTPS
  • Rokas Stankunas's avatar
    Rokas Stankunas authored
    Containerized application and updated README.md file
    
    Closes #14
    
    See merge request !10
    aa9154e0
    History

    CloudComputing_Act1

    Task description

    The goal of this exercise is to have a “TODO app” that is running locally on your machine (not as a Docker container) and has a front-end that can be viewed in the browser. Requirements:

    • A user can add new TODO items to a list (e.g., “I need to buy groceries tomorrow”).
    • A user can view the full list of TODOs.
    • A user can mark a TODO as “done”; this will hide the entry.
    • A user can delete a TODO, this will remove the entry.
    • A user can do all of the tasks above in a browser-based User Interface (web application).
    • The TODO list needs to be stored in an external database.
    • The app and database need to run locally, don’t use online services for hosting the app or database (if you know how, you can run a local docker container for the database only)
    • Users can register a username/password
    • Users can then log in with their username/password
    • Each User can only view/manage their own TODO list and can’t access the TODO lists of other users
    • User accounts need to be stored securely in the database (password salted and hashed e.g., using BCRYPT)

    Develop a TODO app that fulfills the requirements from above. You can use any language and framework that you want. The app needs to be connected to a database to store the TODO lists. Use MongoDB as the database.

    Prerequisites

    • Git
    • Docker, Docker Compose
    • Node JS, NPM

    Deployment

    In exercise 1, the deployment consisted of 2 parts: deploying the database and the application. However, in exercise 2, the application got containerized, so you can deploy it by following these simple steps:

    1. Clone the repository: git clone https://gitlab.reutlingen-university.de/gajesh24/cloudcomputing_act1.git
    2. Enter the folder: cd cloudcomputing_act1
    3. Build the image: sudo docker build -t todo-app .
    4. Start docker compose file sudo docker compose up -d
    5. Open up website on http://localhost/

    Authors

    Created by Jesus Galaz Reyes and Rokas Stankūnas.


    License

    This project is licensed under the ISC license.