Property Dev Notifier is a monorepo containing components for handling a signup/login/logout system for Property Developers and sending email notifications using SendGrid. The repository is organized into the following components:
The Express Rest API for handling user authentication and notification.
The Next.js 13 application for the client-side interface.
Contains configuration and resources for Docker and Kubernetes.
A configuration file for local deployment using Skaffold.
To get started with this project, follow the steps below:
Docker Desktop for local development and testing.
-
Clone this repository:
git clone https://github.com/your-username/property-dev-notifier.git
-
Navigate to the project directory:
cd property-dev-notifier
-
Build and run the application with Skaffold:
skaffold dev
-
Access the application:
Open your web browser and visit https://localhost:3000 for the application.
or you can simply use your
hosts
file in Windows to redirect127.0.0.1
toyour-domain.com
and visit https://your-domain.com
Note that, once you see the warning message of Your connection is not private, you need to type thisisunsafe
anywhere on the screen. This is related to our https or load balancer, probably.
Configure SendGrid API key and SendGrid Account E-mail (which is verified and responsible for sending the e-mails) in the server component to enable email sending functionality. This key should be stored as an environment variable.
- Sign up as a Property Developer.
- Log in to your account.
- Use the application as needed.
- Log out when finished.
The project is structured as follows:
property-dev-notifier/
│
├── client/ # Next.js client application
│
├── server/ # Express Rest API server
│
├── infra/ # Docker and Kubernetes resources
│
└── skaffold.yaml # Skaffold configuration for local development
Make sure to set the following environment variables in the .env file or through your deployment platform as Kubernetes Secret:
- SENDGRID_API_KEY: Your SendGrid API key for sending emails.
- SENDGRID_ACCOUNT_EMAIL: Your SendGrid account e-mail which is the subject of the sent emails.
- JWT_KEY: For secure authentication
- MONGO_URI: For MongoDB URI runs on Kubernetes deployment
This project is licensed under the TODO License - see the LICENSE file for details.
Thanks to the open-source community for providing the tools and technologies used in this project. Feel free to customize this README.md to include any specific instructions, details, or acknowledgments relevant to your project.
Bye...
⛸️⛸️