Alcoholic Anonymous Meeting Locator
-Mini project Series (1/3)-
(Meeting locator / IOT thermometer project / Personal blog project)
Alcoholic Anonymous Meeting locations are visualized
with their location/meeting type/days of meetings
Live Demo: https://datastructuresoonk.herokuapp.com/aapjt/(no longer available)
(Mobile device is not supported)
Project Statement
Background
AA meeting is a weekly/daily meeting for alcoholics in many different cities. Type of meetings vary and several day options are provided.
The project is particularly focuses on the meeting locations in Metropolitan New York (5 boroughs)
Goals
Locating Meeting Locations
Users expect to locate the meeting locations by day and to get the basic information available
Filter/Sort Meetings
Since there are different types of meetings such as Spanish meeting such as free topic, open discussions and so on, filtering/sorting function is required for this web application.
Process
Fetch Data
Using Node.js (in Cloud 9), make a request for each of the ten "Meeting List Agenda" pages for Manhattan. And study the HTML structure and tags to extract relevant data for these AA meetings.
Geo-code
Street locations cannot be annotated on the map. Therefore, the coordinates information is necessary. TAMU (Texas A&M University) provides geo-coding services based on street address. Therefore the information is passed to the API and stored in postgresql.
Methodology
SQL
AWS was used to store the data and code to run on web environment. For the detailed information, sql was also used to store and load the data.
Tools: AWS, postgresql
Mapping Meetings
To convert street address to latitude and longitude, TAMU geo coder was used. And eventually the information is handled on web by sql.
Tools: TAMU geocode, leaflet
Publishing
To publish this web application with its router for audiences to navigate from this project to the other project, routing library was used.
Tools: node.js + express + heroku
Visualization
Interface Sketch
Two user inputs are available. One for getting details of the meeting user chooses and
the other one is for filtering meetings by days and by types of the meetings.
Meeting Locator
The city map shows the locations of the meetings with different
types of meetings. Meetings can be filtered by days / types.