(docs): Added README.md
This commit is contained in:
parent
29bdd8649c
commit
7f73ecdd5c
1 changed files with 80 additions and 0 deletions
80
README.md
Normal file
80
README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
# RideAware Admin Center
|
||||||
|
|
||||||
|
This project provides an Admin Center for managing the RideAware subscriber list. It connects to the same SQLite database (`subscribers.db`) used by the landing page app (running on port 5000) and allows an administrator to:
|
||||||
|
|
||||||
|
- View all currently subscribed email addresses.
|
||||||
|
- Send overview update emails to all subscribers.
|
||||||
|
- Unsubscribe emails via the landing page app.
|
||||||
|
|
||||||
|
The Admin Center is protected by a login page, and admin credentials (with a salted/hashed password) are stored in the `admin_users` table within the same database.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Admin Login:**
|
||||||
|
Secure login using salted and hashed passwords (via Werkzeug security utilities).
|
||||||
|
|
||||||
|
- **Subscriber List:**
|
||||||
|
View all email addresses currently stored in the `subscribers` table.
|
||||||
|
|
||||||
|
- **Email Updates:**
|
||||||
|
A form for sending update emails (HTML allowed) to the subscriber list using SMTP.
|
||||||
|
|
||||||
|
- **Shared Database:**
|
||||||
|
Both the landing page app (port 5000) and Admin Center (port 5001) connect to the same `subscribers.db`.
|
||||||
|
|
||||||
|
## Setup & Running
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- Docker (for containerized deployment)
|
||||||
|
- Python 3.11+ (if running locally without Docker)
|
||||||
|
- An SMTP account (e.g., Spacemail) for sending emails
|
||||||
|
- A `.env` file with configuration details
|
||||||
|
|
||||||
|
### .env Configuration
|
||||||
|
|
||||||
|
Create a `.env` file in the project root with the following example variables:
|
||||||
|
|
||||||
|
```env
|
||||||
|
# SMTP settings (shared with the landing page app)
|
||||||
|
SMTP_SERVER=<email server>
|
||||||
|
SMTP_PORT=<email port>
|
||||||
|
SMTP_USER=<email username>
|
||||||
|
SMTP_PASSWORD=<email password>
|
||||||
|
|
||||||
|
# Database file
|
||||||
|
DATABASE_FILE=subscribers.db
|
||||||
|
|
||||||
|
# Admin credentials for the Admin Center
|
||||||
|
ADMIN_USERNAME=admin
|
||||||
|
ADMIN_PASSWORD="changeme" # Change this to a secure password
|
||||||
|
ADMIN_SECRET_KEY="your_super_secret_key"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Running with Docker
|
||||||
|
|
||||||
|
Building the Docker image:
|
||||||
|
```sh
|
||||||
|
docker build -t admin-panel .
|
||||||
|
```
|
||||||
|
|
||||||
|
Running the container mapping port 5001:
|
||||||
|
```sh
|
||||||
|
docker run -p 5001:5001 admin-panel
|
||||||
|
```
|
||||||
|
|
||||||
|
The app will be accessible at http://ip-address-here:5001
|
||||||
|
|
||||||
|
### Running locally
|
||||||
|
Install the dependencies using **requirements.txt**:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Then run the admin app:
|
||||||
|
```sh
|
||||||
|
python app.py
|
||||||
|
```
|
||||||
|
|
||||||
|
The app will be accessible at http://ip-address-here:5001
|
||||||
Loading…
Add table
Add a link
Reference in a new issue