Files
medassist-ng/README.md
T
Daniel Volz 738513a3ba refactor: rename project to MedAssist-ng and update configurations
- Updated environment variables in .env.example for production setup.
- Changed project references from MedAssist to MedAssist-ng in documentation and code.
- Adjusted Docker configurations for new image names and ports.
- Removed deprecated push-images.sh script and added docker-compose.dev.yml for development.
- Updated translation files to reflect new project name.
- Ensured all email notifications and headers reflect the new branding.
2025-12-24 13:01:53 +01:00

95 lines
2.7 KiB
Markdown

# MedAssist-ng
📊 Medication tracking and planning app with stock monitoring, intake reminders, and email notifications.
## Quick Start (Production)
```bash
# 1. Clone and configure
git clone https://github.com/your-username/medassist-ng.git
cd medassist-ng
cp .env.example .env
# 2. Generate secure secrets (required!)
# Edit .env and replace CHANGE_ME values with output of:
openssl rand -hex 32
# 3. Start
docker compose up -d
# App runs on http://localhost:4174 (frontend) and http://localhost:4000 (API)
```
## Development
```bash
# Start dev environment with hot-reload
docker compose -f docker-compose.dev.yml up
# Frontend: http://localhost:5173
# Backend: http://localhost:3000
```
## Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ SQLite │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
- **Frontend**: React 18 + Vite + TypeScript, nginx-unprivileged (prod)
- **Backend**: Fastify 5 + TypeScript + SQLite (Drizzle ORM)
- **Security**: Non-root containers, read-only filesystem, no-new-privileges
## Features
- 📦 **Medication Inventory** - Track packs, blisters, loose pills
- 📅 **Intake Scheduling** - Multiple daily schedules with reminders
- 📊 **Stock Monitoring** - Automatic low-stock detection
- 📧 **Notifications** - Email (SMTP) and Push (ntfy, Discord, Telegram)
- 🌍 **i18n** - German and English
- 🌙 **Dark/Light Mode**
## Configuration
Copy `.env.example` to `.env` and configure:
| Variable | Required | Description |
|----------|----------|-------------|
| `JWT_SECRET` | ✅ | Access token signing (min 10 chars) |
| `REFRESH_SECRET` | ✅ | Refresh token signing |
| `COOKIE_SECional) |
## File Structure
```
medassist-ng/
├── backend/ # Fastify API
│ ├── src/
│ │ ├── db/ # Schema + migrations
│ │ ├── routes/ # API endpoints
│ │ └── services/ # Business logic
│ └── Dockerfile
├── frontend/ # React SPA
│ ├── src/
│ │ ├── App.tsx # Main application
│ │ └── i18n/ # Translations
│ └── Dockerfile
├── docker-compose.yml # Production (default)
├── docker-compose.dev.yml # Development
└── .env.example
```
## Reverse Proxy (Caddy example)
```
med.example.com {
reverse_proxy localhost:4174
}
```
## License
MIT