Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
venv
.env
app/*
backend_fastapi/app/
frontend_vue/app/
*.bak
File renamed without changes.
23 changes: 23 additions & 0 deletions backend_fastapi/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

# Initialize
if [ ! -d ".git" ]; then
echo "Cloning repository..."
git init
git remote add origin https://github.com/NYCU-SDC/main-branch-backend.git
git pull origin main
git checkout main
git branch -d master

# copy .env file for quick setup
cp .env.example .env

echo "Running pip install for fastapi..."
pip install --upgrade pip
pip install --no-cache-dir --upgrade -r ./requirements.txt
echo "Running database migrations..."
alembic upgrade head
fi

echo "Running server..."
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
140 changes: 76 additions & 64 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,73 +1,85 @@
version: '3.9'

services:
postgres:
image: postgres:13
container_name: sdc_postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: fastapi
networks:
- intranet
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
# postgres:
# image: postgres:13
# container_name: sdc_postgres
# environment:
# POSTGRES_USER: user
# POSTGRES_PASSWORD: password
# POSTGRES_DB: fastapi
# networks:
# - intranet
# ports:
# - "5432:5432"
# volumes:
# - postgres_data:/var/lib/postgresql/data

mariadb:
image: mariadb:10.6
container_name: sdc_mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
networks:
- intranet
volumes:
- mariadb_data:/var/lib/mysql
# mariadb:
# image: mariadb:10.6
# container_name: sdc_mariadb
# environment:
# MYSQL_ROOT_PASSWORD: rootpassword
# networks:
# - intranet
# volumes:
# - mariadb_data:/var/lib/mysql
# - ./mariadb/init.sql:/docker-entrypoint-initdb.d/init.sql

pgadmin4:
image: dpage/pgadmin4
container_name: sdc_pgadmin4
environment:
- [email protected]
- PGADMIN_DEFAULT_PASSWORD=password
networks:
- intranet
ports:
- "5050:80"
depends_on:
- postgres

phpmyadmin:
image: phpmyadmin
container_name: sdc_phpmyadmin
restart: always
environment:
PMA_HOST: mariadb
MYSQL_ROOT_PASSWORD: rootpassword
networks:
- intranet
ports:
- "8081:80"
depends_on:
- mariadb
# pgadmin4:
# image: dpage/pgadmin4
# container_name: sdc_pgadmin4
# environment:
# - [email protected]
# - PGADMIN_DEFAULT_PASSWORD=password
# networks:
# - intranet
# ports:
# - "5050:80"
# depends_on:
# - postgres

# phpmyadmin:
# image: phpmyadmin
# container_name: sdc_phpmyadmin
# environment:
# PMA_HOST: mariadb
# MYSQL_ROOT_PASSWORD: rootpassword
# networks:
# - intranet
# ports:
# - "8081:80"
# depends_on:
# - mariadb

app:
build: ./
container_name: sdc_fastapi_app
restart: always
networks:
- intranet
# backend-fastapi:
# image: python:3.10
# container_name: sdc_fastapi_app
# working_dir: /code/app
# networks:
# - intranet
# volumes:
# - ./backend_fastapi/app:/code/app
# - ./backend_fastapi/entrypoint.sh:/code/entrypoint.sh
# ports:
# - "8000:8000"
# entrypoint: ["/code/entrypoint.sh"]
# depends_on:
# - mariadb
frontend-vue:
image: node:22-bookworm
container_name: sdc_vue_app
working_dir: /code/app
volumes:
- ./app:/code/app
- ./frontend_vue/app:/code/app
- ./frontend_vue/entrypoint.sh:/code/entrypoint.sh
ports:
- "8080:8000"
- "8080:8080"
entrypoint: ["/code/entrypoint.sh"]

networks:
intranet:
driver: bridge
# networks:
# intranet:
# driver: bridge

volumes:
postgres_data:
mariadb_data:
# volumes:
# postgres_data:
# mariadb_data:
1 change: 1 addition & 0 deletions feature.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
New Feature in dev_1.0
16 changes: 16 additions & 0 deletions frontend_vue/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

# Initialize
if [ ! -d ".git" ]; then
echo "Cloning repository..."
git init
git remote add origin https://github.com/leowu82/main-branch-frontend.git
git pull origin main
git checkout main
git branch -d master

echo "Running npm install for vue..."
npm install
fi

npm run serve
4 changes: 4 additions & 0 deletions mariadb/init.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE DATABASE IF NOT EXISTS sdc_learn;
CREATE USER IF NOT EXISTS 'sdc_learn'@'%' IDENTIFIED BY 'sdc_learn';
GRANT ALL PRIVILEGES ON sdc_learn.* TO 'sdc_learn'@'%';
FLUSH PRIVILEGES;
42 changes: 0 additions & 42 deletions requirements.txt

This file was deleted.

2 changes: 2 additions & 0 deletions test/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from fastapi import FastAPI
app = FastAPI()