My Reminder is a web application that allows users to set and manage reminders. It provides a simple interface for creating, editing, and deleting reminders, with email notifications sent on the specified date.
- Create reminders with custom messages and multiple email recipients
- Edit existing reminders
- Delete reminders
- View all reminders in a paginated list
- Automatic email notifications on the reminder date
- Backend: Flask (Python)
- Database: PostgreSQL
- Frontend: HTML, CSS (Tailwind CSS), JavaScript
- Email Service: Mailgun
- Containerization: Docker
Before you begin, ensure you have the following installed:
- Docker and Docker Compose
- Python 3.7+
- pip (Python package manager)
-
Clone the repository:
git clone https://github.com/yourusername/websim-reminders.git cd websim-reminders
-
Create a
.env
file in the project root directory with the following content:FLASK_APP=webapp.py FLASK_ENV=development FLASK_DEBUG=1 # Database configuration DB_USER=user DB_PASSWORD=password DB_HOST=db DB_PORT=5432 DB_NAME=reminders # Mailgun configuration MAILGUN_API_KEY=your_mailgun_api_key MAILGUN_DOMAIN=your_mailgun_domain MAILGUN_SENDER=noreply@yourdomain.com # Secret key for Flask sessions SECRET_KEY=your_secret_key_here
Replace the placeholder values with your actual configuration.
-
Build and start the Docker containers:
docker-compose up --build
-
Initialize the database:
docker-compose exec web flask init-db
-
The application should now be running at
http://localhost:5000
- Open your web browser and navigate to
http://localhost:5000
- Click on "New Reminder" to create a new reminder
- Fill in the date, message, and email address(es) for the reminder
- Click "Save Reminder" to create the reminder
- View all reminders on the home page
- Double-click a reminder to edit or delete it
To run the application in development mode:
-
Install the required Python packages:
pip install -r requirements.txt
-
Set up a local PostgreSQL database and update the
.env
file with the appropriate credentials -
Run the Flask development server:
flask run
-
The application will be available at
http://localhost:5000
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.