diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..535289b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +connector/Lib/* +connector/Scripts/* +pyvenv.cfg \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..873fdaf0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.11-bullseye + +WORKDIR /code + +COPY ./connector/Include/*.* . +COPY ./connector/Include/init_scripts/*.* ./init_scripts/*.* + +ENV PIP_DISABLE_PIP_VERSION_CHECK 1 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONUNBUFFERED 1 + +RUN pip install -r requirements.txt + +COPY . . \ No newline at end of file diff --git a/README.md b/README.md index 034d04f1..b88556b9 100644 --- a/README.md +++ b/README.md @@ -1 +1,26 @@ # Projekt z ERSMS + + +## Backend + +### instalacja: +pip install -r requirements.txt + +### budowanie i uruchamianie obrazu z bazą danych: +docker compose up (ewentualnie można też z GUI) + +### uruchomienie: +(Z directory macierzystego) +python3 ai_front_connector/frontend_AI_connector.py + +### gadanie z endpointami + +GET http://localhost:8090/ - testowy domowy + +GET http://localhost:8090//api/v3/get/ - info o userach + +GET http://localhost:8090//api/v3/get_movie/ - info o filmie + +POST http://localhost:8090/api/v3/add// - dodawanie usera + +GET http://localhost:8090/api/v3/ai/ - wyciąganie rekomendacji od AI \ No newline at end of file diff --git a/ai_front_connector/Dockerfile b/ai_front_connector/Dockerfile deleted file mode 100644 index 6002bff0..00000000 --- a/ai_front_connector/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM python:3.10.4-slim-bullseye \ No newline at end of file diff --git a/ai_front_connector/README.md b/ai_front_connector/README.md deleted file mode 100644 index 16214b45..00000000 --- a/ai_front_connector/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# instalacja: -pip install -r requirements.txt - -# budowanie i uruchamianie obrazu z bazą danych: -cd ai_front_connector -docker compose up (ewentualnie można też z GUI) - -# uruchomienie: -(Z directory macierzystego) -python3 ai_front_connector/frontend_AI_connector.py - -# gadanie z endpointami - -GET http://localhost:8080/ - testowy domowy - -GET http://localhost:8080//api/v3/get/ - info o userach - -POST http://localhost:8080/api/v3/add// - dodawanie usera - -GET http://localhost:8080/api/v3/ai/ - wyciąganie rekomendacji od AI - diff --git a/ai_front_connector/mock_db/db.json b/ai_front_connector/mock_db/db.json deleted file mode 100644 index 8201b8ef..00000000 --- a/ai_front_connector/mock_db/db.json +++ /dev/null @@ -1 +0,0 @@ -{"_default": {"1": {"ID": "123123", "username": "ziom69"}, "2": {"ID": "123123", "username": "ziom66"}}} \ No newline at end of file diff --git a/ai_front_connector/frontend_AI_connector.py b/connector/Include/frontend_AI_connector.py similarity index 96% rename from ai_front_connector/frontend_AI_connector.py rename to connector/Include/frontend_AI_connector.py index 9e8e57a9..7dcfcf35 100644 --- a/ai_front_connector/frontend_AI_connector.py +++ b/connector/Include/frontend_AI_connector.py @@ -67,7 +67,7 @@ def get_movie(movie_ID): if __name__ == "__main__": config = ConfigParser() - config.read("ai_front_connector/init_scripts/constants.ini") + config.read("init_scripts/constants.ini") conn = psycopg2.connect( host=config["postgres"]["host"], @@ -79,6 +79,6 @@ if __name__ == "__main__": movie_list = pandas.read_csv(config["movie"]["csv_path"]) - app.run(port=8080, debug=True) + app.run(host="0.0.0.0",port=8090, debug=True) conn.close() diff --git a/ai_front_connector/init_scripts/constants.ini b/connector/Include/init_scripts/constants.ini similarity index 51% rename from ai_front_connector/init_scripts/constants.ini rename to connector/Include/init_scripts/constants.ini index a0c99581..e922b009 100644 --- a/ai_front_connector/init_scripts/constants.ini +++ b/connector/Include/init_scripts/constants.ini @@ -1,9 +1,9 @@ [postgres] -host=localhost +host=db database=test_db user=root password=root port=5432 [movie] -csv_path=ai_front_connector/init_scripts/movies.csv +csv_path=init_scripts/movies.csv diff --git a/ai_front_connector/init_scripts/movies.csv b/connector/Include/init_scripts/movies.csv similarity index 100% rename from ai_front_connector/init_scripts/movies.csv rename to connector/Include/init_scripts/movies.csv diff --git a/ai_front_connector/requirements.txt b/connector/Include/requirements.txt similarity index 100% rename from ai_front_connector/requirements.txt rename to connector/Include/requirements.txt diff --git a/ai_front_connector/init_scripts/init.sql b/database/init.sql similarity index 100% rename from ai_front_connector/init_scripts/init.sql rename to database/init.sql diff --git a/ai_front_connector/docker-compose.yml b/docker-compose.yml similarity index 64% rename from ai_front_connector/docker-compose.yml rename to docker-compose.yml index b8234ac6..c8b096a8 100644 --- a/ai_front_connector/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,17 @@ version: "3.8" services: + connector: + container_name: connector_container + build: . + volumes: + - .:/code + ports: + - 8090:8090 + depends_on: + - db + command: + - python3 ./frontend_AI_connector.py db: container_name: db_container image: postgres:13 @@ -11,7 +22,7 @@ services: ports: - 5432:5432 volumes: - - ./init_scripts/init.sql:/docker-entrypoint-initdb.d/init.sql + - ./database/init.sql:/docker-entrypoint-initdb.d/init.sql - postgres_data:/var/lib/postgresql/data/ pgadmin: container_name: admin_container