{"id":26844813,"url":"https://github.com/simonstnn/bemed","last_synced_at":"2025-08-16T23:06:10.319Z","repository":{"id":281896810,"uuid":"936675347","full_name":"SimonStnn/BEMED","owner":"SimonStnn","description":"Helping government institutions manage their environmental footprint","archived":false,"fork":false,"pushed_at":"2025-05-20T18:01:13.000Z","size":15593,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-20T19:29:34.559Z","etag":null,"topics":["rest-api","sql","typescript","vue"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimonStnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-21T13:48:14.000Z","updated_at":"2025-05-20T18:01:17.000Z","dependencies_parsed_at":"2025-03-28T17:29:37.307Z","dependency_job_id":"e5043183-4a21-4d1e-a740-acd75d8160d5","html_url":"https://github.com/SimonStnn/BEMED","commit_stats":null,"previous_names":["simonstnn/bemed"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimonStnn/BEMED","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonStnn%2FBEMED","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonStnn%2FBEMED/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonStnn%2FBEMED/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonStnn%2FBEMED/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimonStnn","download_url":"https://codeload.github.com/SimonStnn/BEMED/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonStnn%2FBEMED/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270781393,"owners_count":24643820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rest-api","sql","typescript","vue"],"created_at":"2025-03-30T19:31:24.713Z","updated_at":"2025-08-16T23:06:10.308Z","avatar_url":"https://github.com/SimonStnn.png","language":"Vue","readme":"# BEMED - Zero Waste Management System\n\nBEMED is a comprehensive solution designed to help institutions assess and improve their waste management practices. The system provides tools for waste treatment assessments, product usage tracking, and discovering environmentally friendly alternatives to single-use products.\n\n## Features\n\n- **Waste Management Assessment**: Interactive surveys to evaluate current waste management practices\n- **Product Usage Tracking**: Monitor consumption of single-use products\n- **Alternative Products**: Discover and compare environmentally friendly alternatives\n- **Environmental Impact Metrics**: Track the environmental footprint reduction through improved practices\n- **Authentication \u0026 Authorization**: Secure user management through Keycloak integration\n- **Responsive Interface**: Mobile-friendly design that works across devices\n\n## Architecture\n\nBEMED follows a microservice architecture approach, utilizing Docker containers orchestrated via Docker Compose:\n\n- **Frontend**: Vue.js 3 application with Vuetify for UI components\n- **Backend**: Node.js REST API built with Express\n- **Authentication**: Keycloak for identity and access management\n- **Database**: MariaDB for data storage\n- **Reverse Proxy**: Traefik for routing and load balancing\n- **Administration Tools**: Portainer for container management and PHPMyAdmin for database administration\n\n```mermaid\narchitecture-beta\n    group cloud(cloud)[Cloud]\n\n    group frontend(server)[Frontend]\n    service web(server)[Web app] in frontend\n\n    group backend(server)[Backend Server]\n    group docker(disk)[Docker] in backend\n    service db(database)[MySQL] in docker\n    service keycloak(server)[Keycloak] in docker\n    service api(server)[Backend API] in docker\n    service webserver(server)[Frontend Webserver] in docker\n    service traefik(server)[Traefik] in docker\n    service portainer(server)[Portainer] in docker\n    service phpmyadmin(server)[PhpMyAdmin] in docker\n\n    junction dbjunction in docker\n\n    web:R \u003c--\u003e L:traefik\n    traefik:R \u003c--\u003e L:api\n    traefik:T \u003c--\u003e L:keycloak\n    api:R \u003c--\u003e L:db\n    db:T \u003c-- B:dbjunction\n    phpmyadmin:B \u003c-- T:dbjunction\n    keycloak:R \u003c-- L:dbjunction\n    traefik:B \u003c--\u003e T:webserver\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Docker and Docker Compose\n- Node.js 18+ (for local development)\n- A modern web browser\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/SimonStnn/BEMED.git\n   cd BEMED\n   ```\n\n2. Create a `.env` file in the root directory with the following configuration:\n\n   ```conf\n   # Domain configuration\n   BEMED_DOMAIN=localhost\n   DNS_PREFIX_KEYCLOAK=keycloak\n   DNS_PREFIX_BEMED_BACKEND=api\n   DNS_PREFIX_BEMED_FRONTEND=app\n   BEMED_PROTOCOL=http\n   NODE_ENV=development\n\n   # API configuration\n   BEMED_API_PORT=3000\n\n   # Database configuration\n   MARIADB_ROOT_PASSWORD=your_secure_password\n\n   # Keycloak configuration\n   KC_BOOTSTRAP_ADMIN_USERNAME=admin\n   KC_BOOTSTRAP_ADMIN_PASSWORD=strong_password\n   KC_DB_USERNAME=keycloak\n   KC_DB_PASSWORD=keycloak_db_password\n   KC_DB_NAME=keycloak\n\n   # Client configuration\n   KEYCLOAK_REALM=BEMED\n   KEYCLOAK_BACKEND_CLIENT_ID=backend\n   KEYCLOAK_FRONTEND_CLIENT_ID=frontend\n   KEYCLOAK_CLIENT_SECRET=your_client_secret\n   ```\n\n3. Start the application using Docker Compose:\n\n   ```bash\n   docker-compose up -d\n   ```\n\n4. Access the application at \u003chttp://app.localhost\u003e\n\n### Development Setup\n\nFor development work:\n\n1. Install backend dependencies:\n\n   ```bash\n   cd backend\n   npm install\n   ```\n\n2. Install frontend dependencies:\n\n   ```bash\n   cd frontend\n   npm install\n   ```\n\n3. Run backend in development mode:\n\n   ```bash\n   cd backend\n   npm run dev\n   ```\n\n4. Run frontend in development mode:\n\n   ```bash\n   cd frontend\n   npm run dev\n   ```\n\n## Accessing Services\n\nAfter deployment, the following services are available:\n\n- **Frontend**: \u003chttp://app.localhost\u003e\n- **Backend API**: \u003chttp://api.localhost\u003e\n- **API Documentation**: \u003chttp://api.localhost/docs\u003e\n- **Documentation**: \u003chttp://docs.localhost\u003e\n- **Keycloak Admin**: \u003chttp://keycloak.localhost/admin\u003e\n- **PHPMyAdmin**: \u003chttp://phpmyadmin.localhost\u003e\n- **Portainer**: \u003chttp://localhost:9000\u003e\n- **Traefik Dashboard**: \u003chttp://traefik.localhost:8080\u003e\n\n## Documentation\n\nComprehensive documentation is available at \u003chttp://docs.localhost\u003e after deployment, including:\n\n- **Getting Started Guide**: For system administrators\n- **Backend API Documentation**: Details on available API endpoints\n- **Frontend Documentation**: Information about the user interface\n- **Docker Services Documentation**: Configuration details for each service\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonstnn%2Fbemed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonstnn%2Fbemed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonstnn%2Fbemed/lists"}