generated from me/template-mit
Contnue additions to front end as well as to the overview section.
1 parent
0508ef3ece
commit
bd031d10b4
1 file changed
+56
-17
+56
-17
@@ -1,6 +1,6 @@
|
||||
# Purpose
|
||||
|
||||
To allow users to enter up to 8 locations based on zip codes or lat/long and have the highs and lows display on a Celtic Wheel type layout based on the movement of the sun and seasons of the year.
|
||||
To allow users to enter up to 8 locations and have the highs and lows display on a Celtic Wheel type layout in order to provide an easy at-a-glance evaluation of where to move during a weather focused nomadic cycle.
|
||||
|
||||
| | SS | CQ | |
|
||||
| --- | --- | --- | --- |
|
||||
@@ -10,6 +10,8 @@ To allow users to enter up to 8 locations based on zip codes or lat/long and hav
|
||||
|
||||
## Explanation
|
||||
|
||||
The wheel is based on the movement of the sun and determines the seasons of the year.
|
||||
|
||||
SS = Summer Solstice,
|
||||
CQ = Cross Quarter,
|
||||
FE = Fall Equinox,
|
||||
@@ -26,6 +28,19 @@ The day is an estimate which typically actually spans between the 21st and 24th.
|
||||
Cross quarters are calculated to be `month = (3*X)-1`, `day = 1`.
|
||||
An example is Samhein which is typically November 1.
|
||||
|
||||
This document will refer to the 8 season segments as follows:
|
||||
|
||||
| Season | Events | Dates |
|
||||
| - | :---: | :--: |
|
||||
| Spring1 | Spring Equinox to Spring Cross Quarter | March 21 - May 01 |
|
||||
| Spring2 | Spring Cross Quarter to Summer Solstice | May 01 - June 21 |
|
||||
| Summer1 | Summer Solstice to Summer Cross Quarter | June 21 - August 01 |
|
||||
| Summer2 | Summer Cross Quarter to Summer Equinox | August 01 - September 21 |
|
||||
| Fall1 | Fall Equinox to Fall Cross Quarter | September 21 - November 01 |
|
||||
| Fall2 | Fall Cross Quarter to Winter Solstice | November 01 - December 21 |
|
||||
| Winter1 | Winter Solstice to Winter Cross Quarter | December 21 - February 01 |
|
||||
| Winter2 | Winter Cross Quarter to Spring Equinox | February 01 - March 21 |
|
||||
|
||||
# Components
|
||||
|
||||
## 1. Front End
|
||||
@@ -57,22 +72,32 @@ using Postman, testing the Weather Fetcher, etc.
|
||||
|
||||
### Pages
|
||||
|
||||
- App shall have a simple layout with all pages linked and visible from Main.
|
||||
- Data entry may be done in a pop-up, modal, or subpage if necessary.
|
||||
|
||||
#### Main
|
||||
|
||||
*Initial Versions - Simple Data Entry*
|
||||
|
||||
---
|
||||
|
||||
8 sections which contain (three?) data input fields:
|
||||
8 sections which contain data input fields for:
|
||||
|
||||
- Zip Code
|
||||
- Lat & Long (used to look up the zip, not sent to cache DB or weather service)
|
||||
- Nickname
|
||||
|
||||
Zip is a required field to successfully submit the data. Nickname is optional.
|
||||
Lat and Long can be ignored and will be autopopulated on submit based on the Zip,
|
||||
or if they are both populated and Zip is blank, then the submit function shall
|
||||
calculate Zip based off of them.
|
||||
|
||||
*Formal Versions - Wheel Layout*
|
||||
|
||||
---
|
||||
|
||||
Includes and expands upon the previous section.
|
||||
|
||||
Circular layout representing the Celtic season wheel with 'LAST_UPDATE_DATE'
|
||||
in the center so the user knows when the highs and lows were last refreshed.
|
||||
|
||||
@@ -84,11 +109,27 @@ one glow as it gets approached. So for June 21, Spring2 and Summer1 would both
|
||||
glow at 50% since that's the day they transition. Then by mid July it would only
|
||||
be Summer1 which glows, and at the end of July Summer1 would be dim and Summer2
|
||||
would be glowing more. Maybe keep this in play after the hand works too.
|
||||
- (TBD: If someone is in the southern hemisphere, how to know that and do the hand in a 180 degree from what it'd be up north? Maybe the location API can be used to know that based on the latitude being positive or negative if only a zip code is provided.)
|
||||
- Hand and glowing need to be in the opposite direction if the user has more
|
||||
than half of their latitudes as negatives.
|
||||
|
||||
##### Actions
|
||||
|
||||
- IF zip == "" && lat != "" && long != "" THEN zip = LOOKUP(lat, long);
|
||||
- Location Submission {submitLocation(), onLocationSave()}
|
||||
- `IF zip.isEmpty() && lat.isEmpty() && long.isEmpty()
|
||||
THEN ERROR('Zip code must be provided! You may use lat/long to find it if needed.');
|
||||
FI`
|
||||
- `IF zip.isEmpty() && (lat.isEmpty() || long.isEmpty())
|
||||
THEN ERROR('Coordinate data not filled out completely.');
|
||||
FI`
|
||||
- `IF zip.isEmpty() && !lat.isEmpty() && !long.isEmpty()
|
||||
THEN zip = LOOKUP(lat, long);
|
||||
FI`
|
||||
- If the user opts to provide a lat and long, find the zip code.
|
||||
- `IF !zip.isEmpty()
|
||||
THEN (lat, long) = LOOKUP(zip);
|
||||
FI`
|
||||
- This overwrites the user's lat and long for what is actually going to
|
||||
checked by the weather API.
|
||||
|
||||
#### Settings
|
||||
|
||||
@@ -102,8 +143,8 @@ would be glowing more. Maybe keep this in play after the hand works too.
|
||||
- 'Week : Median / Center-Most'
|
||||
- 'Week : Mode / Most Common'
|
||||
- 'Only : Today'
|
||||
- ?'Only : Tomorrow'
|
||||
- ?'Only : Today + 7'
|
||||
- 'Only : Tomorrow'
|
||||
- 'Only : Extended (Today + 7)'
|
||||
- FALSE:
|
||||
- TextEdit: 'API Key' (REQUIRED)
|
||||
- 'If not using the cache server, you'll need to provide your own API key for TBD weather service.'
|
||||
@@ -113,20 +154,18 @@ would be glowing more. Maybe keep this in play after the hand works too.
|
||||
- Fahrenheit (^F)
|
||||
- Celsius (^C)
|
||||
- TextEdit: 'Preferred High'
|
||||
- Radio Group: 'Relativity? (TBD)'
|
||||
- Less Than
|
||||
- Greater Than
|
||||
- Whole Numbers / Integers Only
|
||||
- Radio Group: '(TBD: Relativity?)'
|
||||
- Option: 'Less Than'
|
||||
- Option: 'Greater Than'
|
||||
- Checkbox: 'Equal To'
|
||||
- TextEdit: 'referred Low'
|
||||
- Radio Group: 'Relativity? (TBD)'
|
||||
- Less Than
|
||||
- Greater Than
|
||||
- TextEdit: 'Preferred Low'
|
||||
- Whole Numbers / Integers Only
|
||||
- Radio Group: '(TBD: Relativity?)'
|
||||
- Option: 'Less Than'
|
||||
- Option: 'Greater Than'
|
||||
- Checkbox: 'Equal To'
|
||||
|
||||
### Description
|
||||
|
||||
### Requirements
|
||||
|
||||
## 2. Database
|
||||
|
||||
### Description
|
||||
|
||||
Reference in new issue
Block a user