feat: change to bps rw
parent
0e432f7510
commit
523a5e6d8b
|
|
@ -1,9 +1,9 @@
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
using BankSampahApp.Services;
|
using BpsRwApp.Services;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace BankSampahApp.Controllers;
|
namespace BpsRwApp.Controllers;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Controller utama untuk halaman Home dengan .NET 9 best practices
|
/// Controller utama untuk halaman Home dengan .NET 9 best practices
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ WORKDIR /src
|
||||||
|
|
||||||
# Copy project file and restore dependencies
|
# Copy project file and restore dependencies
|
||||||
COPY *.csproj .
|
COPY *.csproj .
|
||||||
RUN dotnet restore "BankSampahApp.csproj"
|
RUN dotnet restore "BpsRwApp.csproj"
|
||||||
|
|
||||||
# Copy source code
|
# Copy source code
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
@ -38,11 +38,11 @@ COPY . .
|
||||||
COPY --from=node-build /src/wwwroot/css/site.css ./wwwroot/css/
|
COPY --from=node-build /src/wwwroot/css/site.css ./wwwroot/css/
|
||||||
|
|
||||||
# Build the application
|
# Build the application
|
||||||
RUN dotnet build "BankSampahApp.csproj" -c Release -o /app/build
|
RUN dotnet build "BpsRwApp.csproj" -c Release -o /app/build
|
||||||
|
|
||||||
# Stage 4: Publish the application
|
# Stage 4: Publish the application
|
||||||
FROM build AS publish
|
FROM build AS publish
|
||||||
RUN dotnet publish "BankSampahApp.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
RUN dotnet publish "BpsRwApp.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
# Stage 5: Final runtime image
|
# Stage 5: Final runtime image
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
|
|
@ -64,4 +64,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
||||||
CMD curl -f http://localhost:8080/health || exit 1
|
CMD curl -f http://localhost:8080/health || exit 1
|
||||||
|
|
||||||
# Entry point
|
# Entry point
|
||||||
ENTRYPOINT ["dotnet", "BankSampahApp.dll"]
|
ENTRYPOINT ["dotnet", "BpsRwApp.dll"]
|
||||||
|
|
@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.Filters;
|
using Microsoft.AspNetCore.Mvc.Filters;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
|
||||||
namespace BankSampahApp.Filters;
|
namespace BpsRwApp.Filters;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Global exception filter untuk menangani error secara terpusat
|
/// Global exception filter untuk menangani error secara terpusat
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Models;
|
namespace BpsRwApp.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Model untuk menampilkan halaman error
|
/// Model untuk menampilkan halaman error
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Models;
|
namespace BpsRwApp.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Model untuk menampilkan fitur-fitur aplikasi Bank Sampah
|
/// Model untuk menampilkan fitur-fitur aplikasi Bank Sampah
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Models;
|
namespace BpsRwApp.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// View model untuk halaman utama aplikasi Bank Sampah
|
/// View model untuk halaman utama aplikasi Bank Sampah
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Models;
|
namespace BpsRwApp.Models;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Model untuk menampilkan statistik dan achievement aplikasi Bank Sampah
|
/// Model untuk menampilkan statistik dan achievement aplikasi Bank Sampah
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
using BankSampahApp.Services;
|
using BpsRwApp.Services;
|
||||||
using BankSampahApp.Filters;
|
using BpsRwApp.Filters;
|
||||||
using Microsoft.AspNetCore.HttpOverrides;
|
using Microsoft.AspNetCore.HttpOverrides;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
|
||||||
12
README.md
12
README.md
|
|
@ -1,15 +1,15 @@
|
||||||
# 🌱 Bank Sampah Digital
|
# 🌱 BPS RW
|
||||||
|
|
||||||
**Aplikasi ASP.NET Core MVC untuk mengelola bank sampah dengan teknologi modern**
|
**Aplikasi ASP.NET Core MVC untuk mengelola BPS RW dengan teknologi modern**
|
||||||
|
|
||||||
## 📋 Deskripsi
|
## 📋 Deskripsi
|
||||||
|
|
||||||
Bank Sampah Digital adalah aplikasi web yang memungkinkan pengguna untuk mengelola sampah dengan sistem reward yang menarik. Aplikasi ini dibangun menggunakan ASP.NET Core MVC dengan design system DaisyUI dan Tailwind CSS untuk menciptakan pengalaman pengguna yang modern dan responsif.
|
BPS RW adalah aplikasi web yang memungkinkan pengguna untuk mengelola sampah dengan sistem reward yang menarik. Aplikasi ini dibangun menggunakan ASP.NET Core MVC dengan design system DaisyUI dan Tailwind CSS untuk menciptakan pengalaman pengguna yang modern dan responsif.
|
||||||
|
|
||||||
## 📁 Struktur Proyek
|
## 📁 Struktur Proyek
|
||||||
|
|
||||||
```
|
```
|
||||||
bank-sampah/
|
bps-rw/
|
||||||
├── Controllers/ # MVC Controllers
|
├── Controllers/ # MVC Controllers
|
||||||
│ └── HomeController.cs # Controller utama dengan .NET 9 best practices
|
│ └── HomeController.cs # Controller utama dengan .NET 9 best practices
|
||||||
├── Services/ # Business Logic Services
|
├── Services/ # Business Logic Services
|
||||||
|
|
@ -39,7 +39,7 @@ bank-sampah/
|
||||||
├── Program.cs # .NET 9 minimal hosting konfigurasi
|
├── Program.cs # .NET 9 minimal hosting konfigurasi
|
||||||
├── appsettings.json # Configuration utama
|
├── appsettings.json # Configuration utama
|
||||||
├── appsettings.Development.json # Development configuration
|
├── appsettings.Development.json # Development configuration
|
||||||
├── BankSampahApp.csproj # .NET 9 project file
|
├── BpsRwApp.csproj # .NET 9 project file
|
||||||
├── package.json # Dependencies untuk Node.js
|
├── package.json # Dependencies untuk Node.js
|
||||||
└── tailwind.config.js # Konfigurasi Tailwind & DaisyUI
|
└── tailwind.config.js # Konfigurasi Tailwind & DaisyUI
|
||||||
```
|
```
|
||||||
|
|
@ -56,7 +56,7 @@ bank-sampah/
|
||||||
1. **Clone repository**
|
1. **Clone repository**
|
||||||
```bash
|
```bash
|
||||||
git clone [repository-url]
|
git clone [repository-url]
|
||||||
cd bank-sampah
|
cd bps-rw
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Install dependencies Node.js**
|
2. **Install dependencies Node.js**
|
||||||
|
|
|
||||||
BIN
README.pdf
BIN
README.pdf
Binary file not shown.
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Implementation of centralized configuration service
|
/// Implementation of centralized configuration service
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Microsoft.Extensions.Caching.Memory;
|
using Microsoft.Extensions.Caching.Memory;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Base service class yang menyediakan functionality umum untuk semua services
|
/// Base service class yang menyediakan functionality umum untuk semua services
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ using Microsoft.Extensions.Caching.Memory;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Implementation of cache service dengan enhanced functionality
|
/// Implementation of cache service dengan enhanced functionality
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Service implementation untuk menangani logic bisnis halaman Home
|
/// Service implementation untuk menangani logic bisnis halaman Home
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface untuk centralized configuration management
|
/// Interface untuk centralized configuration management
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Microsoft.Extensions.Caching.Memory;
|
using Microsoft.Extensions.Caching.Memory;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface untuk cache service yang mengelola caching operations
|
/// Interface untuk cache service yang mengelola caching operations
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface untuk service yang menangani logic bisnis halaman Home
|
/// Interface untuk service yang menangani logic bisnis halaman Home
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface untuk service yang menangani statistik aplikasi
|
/// Interface untuk service yang menangani statistik aplikasi
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Interface untuk common validation logic
|
/// Interface untuk common validation logic
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Service implementation untuk menangani statistik aplikasi
|
/// Service implementation untuk menangani statistik aplikasi
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using BankSampahApp.Models;
|
using BpsRwApp.Models;
|
||||||
|
|
||||||
namespace BankSampahApp.Services;
|
namespace BpsRwApp.Services;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Implementation of validation service
|
/// Implementation of validation service
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
@using BankSampahApp
|
@using BpsRwApp
|
||||||
@using BankSampahApp.Models
|
@using BpsRwApp.Models
|
||||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
"Microsoft.AspNetCore": "Information",
|
"Microsoft.AspNetCore": "Information",
|
||||||
"Microsoft.AspNetCore.Hosting": "Debug",
|
"Microsoft.AspNetCore.Hosting": "Debug",
|
||||||
"Microsoft.AspNetCore.Routing": "Debug",
|
"Microsoft.AspNetCore.Routing": "Debug",
|
||||||
"BankSampahApp": "Debug"
|
"BpsRwApp": "Debug"
|
||||||
},
|
},
|
||||||
"Console": {
|
"Console": {
|
||||||
"IncludeScopes": true,
|
"IncludeScopes": true,
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@
|
||||||
"CacheExpirationMinutes": 15
|
"CacheExpirationMinutes": 15
|
||||||
},
|
},
|
||||||
"Application": {
|
"Application": {
|
||||||
"Name": "Bank Sampah Digital",
|
"Name": "BPS RW",
|
||||||
"Version": "1.0.0",
|
"Version": "1.0.0",
|
||||||
"Description": "Aplikasi digital untuk mengelola bank sampah dengan sistem reward"
|
"Description": "Aplikasi digital untuk mengelola BPS RW"
|
||||||
},
|
},
|
||||||
"Features": {
|
"Features": {
|
||||||
"EnableCaching": true,
|
"EnableCaching": true,
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Main application service
|
# Main application service
|
||||||
bank-sampah-app:
|
bps-rw-app:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
target: final
|
target: final
|
||||||
container_name: bank-sampah-app
|
container_name: bps-rw-app
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
- "8081:8081"
|
- "8081:8081"
|
||||||
|
|
@ -20,7 +20,7 @@ services:
|
||||||
# Mount logs directory
|
# Mount logs directory
|
||||||
- ./logs:/app/logs
|
- ./logs:/app/logs
|
||||||
networks:
|
networks:
|
||||||
- bank-sampah-network
|
- bps-rw-network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
||||||
|
|
@ -32,7 +32,7 @@ services:
|
||||||
# Nginx reverse proxy (optional)
|
# Nginx reverse proxy (optional)
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:alpine
|
image: nginx:alpine
|
||||||
container_name: bank-sampah-nginx
|
container_name: bps-rw-nginx
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
|
|
@ -41,11 +41,11 @@ services:
|
||||||
- ./nginx/ssl:/etc/nginx/ssl:ro
|
- ./nginx/ssl:/etc/nginx/ssl:ro
|
||||||
- ./logs/nginx:/var/log/nginx
|
- ./logs/nginx:/var/log/nginx
|
||||||
networks:
|
networks:
|
||||||
- bank-sampah-network
|
- bps-rw-network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- bank-sampah-app
|
- bps-rw-app
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
bank-sampah-network:
|
bps-rw-network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "bank-sampah-app",
|
"name": "bps-rw-app",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Bank Sampah Application",
|
"description": "BPW RW Application",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build-css": "tailwindcss -i ./wwwroot/css/input.css -o ./wwwroot/css/site.css --watch",
|
"build-css": "tailwindcss -i ./wwwroot/css/input.css -o ./wwwroot/css/site.css --watch",
|
||||||
"build": "tailwindcss -i ./wwwroot/css/input.css -o ./wwwroot/css/site.css --minify"
|
"build": "tailwindcss -i ./wwwroot/css/input.css -o ./wwwroot/css/site.css --minify"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
* Optimized dengan modern patterns dan clean code principles
|
* Optimized dengan modern patterns dan clean code principles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class BankSampahApp {
|
class BpsRwApp {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.config = {
|
this.config = {
|
||||||
animationDuration: 600,
|
animationDuration: 600,
|
||||||
|
|
@ -359,20 +359,20 @@ class BankSampahApp {
|
||||||
|
|
||||||
console.log('🌱 Bank Sampah Digital - Aplikasi siap digunakan!');
|
console.log('🌱 Bank Sampah Digital - Aplikasi siap digunakan!');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error initializing BankSampahApp:', error);
|
console.error('Error initializing BpsRwApp:', error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create global instance
|
// Create global instance
|
||||||
const BankSampah = new BankSampahApp();
|
const BpsRw = new BpsRwApp();
|
||||||
|
|
||||||
// Initialize saat DOM ready
|
// Initialize saat DOM ready
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
BankSampah.init();
|
BpsRw.init();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Export untuk penggunaan di file lain
|
// Export untuk penggunaan di file lain
|
||||||
if (typeof module !== 'undefined' && module.exports) {
|
if (typeof module !== 'undefined' && module.exports) {
|
||||||
module.exports = BankSampah;
|
module.exports = BpsRw;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue