aref-hasan / database-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Library Management System App

A simple libarry management system application running across multiple Docker containers.

Getting started

Download Docker Desktop for Mac or Windows. Docker Compose will be automatically installed. On Linux, make sure you have the latest version of Compose.

Download repository & run the application

Run the following command in your terminal to download the repo. You can also use your package-manager of choice.

wget https://github.com/nklsdhbw/database-project/archive/refs/heads/docker.zip

Now unzip the docker.zip folder e.g. with the unzippackage

unzip docker.zip

Change to the directory containing the docker-compose.yml file

cd database-project-docker/docker/

Now start the containers using the following command

docker compose up --build

The libary management React-app will be running at http://localhost:3000, the flask app will be at http://localhost:8000, the postgres server will be at http://localhost:5433 and the adminer instance will be at http://localhost:8080.

Architecture

The systems consists of

  • A front-end React web app which lets you manage your Library System Management

  • A Flask server that uses psychopg2 to run the SQL queries against the postgres database

  • A Postgres database backed by a Docker volume

  • A adminer instance to interact with the database. To connect with pgadminer use PostgreSQL as database system postgres as server, user and database and use 0609 as password. When you try to connect with localhost as server you won't be able to connect so please use postgres.

Troubleshooting

If you are having problems with the application, check that the containers are running on the correct ports. When the containers were started, they may have already been occupied by other services, so they may be running on different ports. So shut down all containers, kill all processes running on ports 8000, 8080, 3000 & 5432 and rebuild the containers using docker compose up --build.

Notes

This web application for a library management system was developed by Aref Hasan, Luca Mohr and Niklas Scholz as a database project in the 4th semester @DHBW Mannheim.

About


Languages

Language:JavaScript 90.1%Language:CSS 4.1%Language:PLpgSQL 2.5%Language:HTML 1.5%Language:Python 1.2%Language:Dockerfile 0.6%Language:Shell 0.0%