Local Alert Network (LAN) is a web app designed to assist the public before, during, and after a disaster with the help of crowdsourced alerts.
- Facebook and Google authorization
- Real-time alerts
- Visualization of where the alert was created on a map
- Crowdsourced alerts
- Email subscription service that notifies subscribers of alerts occurring near their home location
- A responsive design for both desktop and mobile users
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
**dotenv: ** We use dotenv npm module and a '.env' file to store local environmental variables. These appear as process.env[variable name] throughout the code.
- Clone or download our repo
2. npm install
- Create a local env file
touch .env
- Add PORT=9000 Create a MySQL remote DB and add credentials to connect
5. npm run build:(prod or dev)
build:dev - refers to a developer environment
build:prod - refers to a production environment
6. npm start
Deploy to AWS using Docker
- Create a docker image
docker build -t local-alert-network .
- Using AWS CLI
aws configure
- Create a new repository on AWS
- Follow the AWS instructions to build, tag, and push the docker image you created
- Create a new task definition on AWS
- Create a new cluster (we used EC2)
- Create a new service based on task definition and assign to cluster
- Find your ECS instance within your cluster and obtain public DNS address
[ReactJS] - frontend framework [NodeJS/Express]- server-side framework [Apollo Server/GraphQL] - server-side query language [Apollo Client/GraphQL]- frontend query language [Reach Router]- Website navigation [Mapbox/DeckGL]- Map functionality [Nodemailer]- Microservice notifications [MySQL]- Database [Cloudinary]- Media storage
Nathan Ong-Original Author-GraphQL integration Nathan Vang-Original Author- Performance Optimization Nicolas Turner-Original Author- Email Microservice development
This project is licensed under the MIT License - see the LICENSE.md file for details
Robin Kim, Feng Chen, Andy Riesenbach, Ashleigh Kessel Icon pics - freepik.com, fjstudio