Piosenka o Delta Szwadronie Super Cool Komando Wilków Alpha
Projekt na bazy danych delta szwadronu super cool komando wilków alfa.
Aplikacja webowa do wyszukiwania oraz oceniania placówek oświatowch, umożliwiająca również publikację komentarzy i ogłoszeń na stronach placówek.
git clone https://github.com/wojtazk/dazy-banych.git
cd dazy-banych
Note
Do zbudowania i uruchomienia serwisu potrzebny jest Docker i Docker Compose
Note
Podczas budowania frontend wymaga dostępu do bazy danych i backendu
docker-compose up -d --build postgres backend
Important
Poczekaj z budową obrazu frontendu do czasu gdy backend i postgres się podniosą
docker-compose build frontend
docker-compose up
docker-compose up
Przejdż do serwisu (http://localhost:80
/ http://127.0.0.1:80
)
open http://localhost:80
Uruchamianie samej bazy danych (development):
docker-compose up postgres
- port:
5432
ENV POSTGRES_USER="admin"
ENV POSTGRES_PASSWORD="admin"
ENV POSTGRES_DB="nasza_oswiata"
naszaOswiata.sql i load_data.sql to początkowe skrypty inicjalizujące strukturę bazy danych oraz wczytujące dane do tabel z plików csv
Uruchamianie samego pgAdmina (development):
docker-compose up pgadmin
- port:
8080
- użytkownik:
[email protected]
- hasło:
admin
- hasło do połaczenia z bazą:
admin
ENV PGADMIN_DEFAULT_EMAIL="[email protected]"
ENV PGADMIN_DEFAULT_PASSWORD="admin"
ENV PGADMIN_LISTEN_PORT="8080"
Note
Można dodać id
jakiegoś użytkownika do tabeli admini_szkoły
, co pozwoli mu na dodawanie ogłoszeń do danej placówki
INSERT INTO admini_szkoly VALUES (<user_id>, <placowka_rspo>);
Uruchamianie samego backendu (development):
pip install -r ./backend/requirements.txt
python ./backend/app.py
- port:
5000
backend.Dockerfile
ENV PORT="5000"
ENV DB_HOST="postgres"
app.py
# [...]
# database con settings
DB_HOST = os.getenv("DB_HOST", "localhost")
DB_PORT = int(os.getenv("DB_PORT", 5432))
DB_NAME = os.getenv("DB_NAME", "nasza_oswiata")
DB_USER = os.getenv("DB_USER", "kot_backendu")
DB_PASSWORD = os.getenv("DB_PASSWORD", "kot_backendu")
# [...]
if __name__ == "__main__":
# run the app
app.run(debug=False, host="0.0.0.0", port=int(os.getenv("PORT", 5000)))
Uruchamianie samego frontendu (development):
npm install
npm run dev
- port:
80
- port development:
3000
frontend.Dockerfile
ENV NODE_ENV="production"
ENV PORT="3000"
ENV BACKEND_URL="http://backend:5000"
next.config.mjs
/** @type {import('next').NextConfig} */
const nextConfig = {
async rewrites() { // proxy for backend server
return [
{
source: '/proxy/:path*',
destination: `${process.env.BACKEND_URL || 'http://192.168.0.136:5000'}/:path*`,
},
];
},
};
export default nextConfig;
Obrazy w awatarze użytkownika są pobierane z https://picsum.photos/
Strona not-found pobiera kotki z https://cataas.com