Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
b2d592c
Add files via upload
RPE-07 Apr 10, 2025
4621809
Add files via upload
RPE-07 Apr 10, 2025
fa2585b
Frontend faftar obat
Putri1106 Apr 10, 2025
057d936
Update tampilan halaman login sesuai desain frontend
gitSatriayudha Apr 10, 2025
95e6808
Frontend halaman daftar obat
Putri1106 Apr 10, 2025
5565cfa
Update frontend daftar obat
Putri1106 Apr 10, 2025
12c1ca6
Menambahkan admin_dashboard.html
Apr 11, 2025
bcf7c9f
Menambahkan style.css
Apr 11, 2025
9bce611
Menambahkan fitur admin_dashboard.html/ style.css
Apr 11, 2025
bfe00c2
Save local changes before pulling
ArdeezYy Apr 12, 2025
807503d
Merge branch 'sandrina' of https://github.com/Reivo13/NetDev
ArdeezYy Apr 12, 2025
8ec14a3
Save progress before switching to branch ardika
ArdeezYy Apr 12, 2025
27b9983
Merge file dari main ke ardika
ArdeezYy Apr 12, 2025
ec4ccd5
Menambahkan halaman tambah_data_obat.html dan Files style.css
Apr 12, 2025
b468db0
Update tampilan history pembelian obat
Putri1106 Apr 14, 2025
edca0b4
Tampilan resepapp dan static file
MrafliArdian Apr 14, 2025
a8f0634
Add files via upload
RPE-07 Apr 15, 2025
6b58b1e
Add files via upload
RPE-07 Apr 15, 2025
17a8c66
Merge pull request #2 from Reivo13/rafli
ArdeezYy Apr 16, 2025
637861b
Merge pull request #3 from Reivo13/ardika
ArdeezYy Apr 16, 2025
930b1a5
Merge pull request #6 from Reivo13/adit
ArdeezYy Apr 16, 2025
74e8dc6
Remove binary files from Git tracking
ArdeezYy Apr 16, 2025
eb472f2
Merge branch 'devops' into satria
ArdeezYy Apr 16, 2025
55dd0a6
Resolve conflict merge dari devops ke satria
ArdeezYy Apr 16, 2025
0570cca
Merge pull request #5 from Reivo13/satria
ArdeezYy Apr 16, 2025
f010515
Resolved migration conflict in 0007_merge migration file
Neiljustiin Apr 19, 2025
b42babd
Merge Devops x Sandrina
Neiljustiin Apr 19, 2025
7ff85b5
Admin resep
Putri1106 Apr 27, 2025
7224d75
Add files via upload
RPE-07 Apr 28, 2025
f8e24c8
Delete APOTEK/settings.py
RPE-07 Apr 28, 2025
0e62781
Add files via upload
RPE-07 Apr 28, 2025
efb07fa
Admin resep
Putri1106 Apr 28, 2025
f493572
Merge pull request #9 from Reivo13/sandrina
ArdeezYy Apr 28, 2025
f2a995c
Merge pull request #14 from Reivo13/devops
ArdeezYy Apr 28, 2025
bac8e94
Resolve merge conflict
ArdeezYy Apr 28, 2025
3913fcc
fix punya sandrina
ArdeezYy Apr 28, 2025
0fe6269
Add files via upload
RPE-07 Apr 30, 2025
1549d5a
Add files via upload
RPE-07 Apr 30, 2025
17f1bdc
Add files via upload
RPE-07 Apr 30, 2025
49ae2cc
Add files via upload
RPE-07 Apr 30, 2025
7ba5727
Add files via upload
RPE-07 Apr 30, 2025
4b3a9e7
Add files via upload
RPE-07 Apr 30, 2025
f34cc84
Add files via upload
RPE-07 Apr 30, 2025
c6f5473
Add files via upload
RPE-07 Apr 30, 2025
5787bdc
Add files via upload
RPE-07 Apr 30, 2025
8ac4f4c
Add files via upload
RPE-07 Apr 30, 2025
7f47c2c
Add files via upload
RPE-07 Apr 30, 2025
42266b5
Deskripsi perubahan yang telah Anda buat
Reivo13 May 1, 2025
4461434
Merge branch 'raihan' into reivo
Reivo13 May 1, 2025
153db27
Simpan hasil merge branch raihan ke reivo tanpa file cache
Reivo13 May 1, 2025
68d835c
Ambil folder landing_page dari branch adit
Reivo13 May 1, 2025
246e2fd
update baru
Reivo13 May 1, 2025
0c99113
landing page
Reivo13 May 3, 2025
ad1bc1c
Update css landing page
Reivo13 May 3, 2025
1778c4c
update css final
Reivo13 May 4, 2025
0743807
update baru
Reivo13 May 4, 2025
25f1579
tampilan landing page
Reivo13 May 4, 2025
cea8bcd
tampilan landing page
Reivo13 May 4, 2025
6b4c178
tampilan landing page
Reivo13 May 4, 2025
e0043d9
update baru
Reivo13 May 4, 2025
ff4f1f0
Landing Page
Reivo13 May 4, 2025
0c437aa
final landing page
Reivo13 May 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 29 additions & 0 deletions APOTEK/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Ignore virtual environments
venv/

# Ignore Python cache files
__pycache__/
*.pyc
*.pyo
*.pyd

# Ignore environment variables
.env

# Ignore database files (opsional kalau pakai SQLite)
*.sqlite3

# Ignore IDE/editor settings
.vscode/
.idea/

# Ignore Django specific
db.sqlite3
/staticfiles/
/mediafiles/

# Ignore macOS files
.DS_Store

# Ignore Windows thumbnail files
Thumbs.db
53 changes: 26 additions & 27 deletions APOTEK/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
FROM python:3.11.1-slim as builder
FROM python:3.11.1-slim

# copy project
COPY ./src /app
WORKDIR /app
# Set workdir
WORKDIR /app

# Update system environment
ENV PYTHON_VERSION=3.10
ENV DEBIAN_FRONTEND noninteractive
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# Copy source code
COPY ./src /app

# Update system defaults
# Install system dependencies
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y \
apt-get install -y \
locales \
libmemcached-dev \
libmemcached-dev \
libpq-dev \
libjpeg-dev \
zlib1g-dev \
Expand All @@ -27,23 +23,26 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Update Locales
# Setup locale
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
&& locale-gen && dpkg-reconfigure locales
&& locale-gen && dpkg-reconfigure locales

# Create and activate virtual environment
RUN python3 -m venv /opt/venv

# Install Python deps
RUN python3 -m venv /opt/venv && \
/opt/venv/bin/python -m pip install pip --upgrade && \
/opt/venv/bin/python -m pip install -r /app/requirements.txt
# Upgrade pip & install dependencies
RUN /opt/venv/bin/pip install --upgrade pip
RUN /opt/venv/bin/pip install -r requirements.txt

# Purge unused
RUN apt-get remove -y --purge make gcc build-essential \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
# (Optional) Buat script kamu executable, kalau memang ada
RUN chmod +x config/migrate.sh || true
RUN chmod +x config/entrypoint.sh || true

# Make local files executable
RUN chmod +x config/migrate.sh && \
chmod +x config/entrypoint.sh
# Set PATH agar command `python` & `pip` langsung jalan dari venv
ENV PATH="/opt/venv/bin:$PATH"

CMD [ "./config/entrypoint.sh" ]
# Run Django server
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
57 changes: 36 additions & 21 deletions APOTEK/docker-compose.dev.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,42 @@
version: '3.9'
services:
db:
image: postgres
restart: always
ports:
- 5432:5432
volumes:
- postgresdb_data:/var/lib/postgresql/data/
env_file:
- src/.env
redis:
image: redis
restart: always
ports:
- 6379:6379
volumes:
- redis_data:/data
entrypoint: redis-server --appendonly yes
db:
image: postgres
restart: always
ports:
- 5432:5432
volumes:
- postgresdb_data:/var/lib/postgresql/data/
env_file:
- .env

redis:
image: redis
restart: always
ports:
- 6379:6379
volumes:
- redis_data:/data
entrypoint: redis-server --appendonly yes

web:
build:
context: .
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./src:/app
ports:
- "8000:8000"
depends_on:
- db
- redis
env_file:
- .env

volumes:
postgresdb_data:
redis_data:
postgresdb_data:
redis_data:

networks:
default:
name: cfe_blank_network
name: cfe_blank_network
2 changes: 2 additions & 0 deletions APOTEK/src/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DATABASE_URL=postgres://username:password@db:5432/dbname
REDIS_URL=redis://redis:6379/0
3 changes: 3 additions & 0 deletions APOTEK/src/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
__pycache__/
*.pyc
db.sqlite3
Empty file.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3 changes: 3 additions & 0 deletions APOTEK/src/admin_daftarobat/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.contrib import admin

# Register your models here.
6 changes: 6 additions & 0 deletions APOTEK/src/admin_daftarobat/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class AdminDaftarobatConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'admin_daftarobat'
Empty file.
Binary file not shown.
3 changes: 3 additions & 0 deletions APOTEK/src/admin_daftarobat/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.db import models

# Create your models here.
98 changes: 98 additions & 0 deletions APOTEK/src/admin_daftarobat/templates/admin_daftarobat/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=0.90">
{% load static %}
<link rel="stylesheet" href="{% static 'admin_daftarobat/css/global.css' %}" />
<link rel="stylesheet" href="{% static 'admin_daftarobat/css/styleguide.css' %}" />
<link rel="stylesheet" href="{% static 'admin_daftarobat/css/style.css' %}" />
</head>
<body>
<div class="daftar-obat-admin" data-model-id="171:494">
<div class="div">
<div class="nav">
<div class="magneto-navbar">
<div class="logo"><div class="text-wrapper">💊 Apotek Jaya</div></div>
<div class="list">
<div class="component"><div class="text-wrapper-2">Resep Obat</div></div>
<div class="component-false"><div class="text-wrapper-2">Daftar Obat</div></div>
</div>
</div>
<div class="component-2">
<div class="rectangle"></div>
<div class="rectangle-2"></div>
<div class="rectangle-3"></div>
<div class="text">LOGOUT</div>
</div>
<div class="component-3">
<div class="rectangle"></div>
<div class="rectangle-2"></div>
<div class="rectangle-3"></div>
<div class="text">LOGOUT</div>
</div>
</div>
<div class="component-4">
<div class="rectangle-4"></div>
<div class="rectangle-5"></div>
<div class="rectangle-6"></div>
<div class="text">Tambah Obat</div>
</div>
<div class="frame"><div class="text-wrapper-3">Daftar Obat</div></div>
<div class="frame-wrapper">
<div class="frame-2">
<div class="frame-3">
<div class="frame-4"></div>
<div class="box-unchecked-wrapper"><div class="box-unchecked"></div></div>
<div class="div-wrapper"><div class="box-unchecked"></div></div>
<div class="frame-5"><div class="box-unchecked"></div></div>
<div class="frame-6"><div class="box-unchecked"></div></div>
</div>
<div class="frame-29">
<div class="frame-30"><div class="table-head">Gambar Obat</div></div>
<img class="img" src="img/frame-1155.svg" />
<img class="frame-31" src="img/frame-1156.svg" />
<img class="frame-32" src="img/frame-1157.svg" />
<img class="frame-33" src="img/frame-1158.svg" />
</div>
<div class="frame-7">
<div class="table-head-wrapper"><div class="table-head">Nama Obat</div></div>
<div class="table-body-wrapper"><div class="table-body">Paracetamol 10 kaplet</div></div>
<div class="frame-8"><p class="table-body">Komix Herbal 15 ml 4 Botol</p></div>
<div class="frame-9"><div class="table-body">Dextral 10 Kaplet</div></div>
<div class="frame-10"><div class="table-body-2">Amoxicillin Sirup</div></div>
</div>
<div class="frame-11">
<div class="frame-12"><div class="table-head">Kategori</div></div>
<div class="frame-13"><div class="table-body-2">Tablet</div></div>
<div class="frame-14"><div class="table-body-2">Cair</div></div>
<div class="frame-15"><div class="table-body-2">Tablet</div></div>
<div class="frame-16"><div class="table-body-2">Cair</div></div>
</div>
<div class="frame-17">
<div class="frame-18"><div class="table-head">Harga Satuan</div></div>
<div class="frame-19"><div class="table-body-2">Rp5.500</div></div>
<div class="frame-20"><div class="table-body">RP14.000</div></div>
<div class="frame-21"><div class="table-body">RP8.000</div></div>
<div class="frame-22"><div class="table-body-2">Rp9.000</div></div>
</div>
<div class="frame-23">
<div class="frame-24"><div class="table-head">Stok</div></div>
<div class="frame-25"><div class="table-body-2">20</div></div>
<div class="frame-26"><div class="table-body-2">10</div></div>
<div class="frame-27"><div class="table-body-2">30</div></div>
<div class="frame-28"><div class="table-body-2">26</div></div>
</div>
<div class="frame-29">
<div class="frame-30"><div class="table-head">Action</div></div>
<img class="img" src="img/frame-1155.svg" />
<img class="frame-31" src="img/frame-1156.svg" />
<img class="frame-32" src="img/frame-1157.svg" />
<img class="frame-33" src="img/frame-1158.svg" />
</div>
</div>
</div>
</div>
</div>
</body>
</html>
3 changes: 3 additions & 0 deletions APOTEK/src/admin_daftarobat/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.test import TestCase

# Create your tests here.
8 changes: 8 additions & 0 deletions APOTEK/src/admin_daftarobat/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from django.contrib.auth import views as auth_views
from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='admin_daftarobat_index'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]
4 changes: 4 additions & 0 deletions APOTEK/src/admin_daftarobat/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from django.shortcuts import render

def index(request):
return render(request, 'admin_daftarobat/index.html',{})
Empty file.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
3 changes: 3 additions & 0 deletions APOTEK/src/admin_resep/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.contrib import admin

# Register your models here.
6 changes: 6 additions & 0 deletions APOTEK/src/admin_resep/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class AdminResepConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'admin_resep'
Empty file.
Binary file not shown.
Binary file not shown.
3 changes: 3 additions & 0 deletions APOTEK/src/admin_resep/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.db import models

# Create your models here.
Loading