raingauge's People
raingauge's Issues
Define Locations
Locations need to be granular and align with existing weather data (I believe zip code)
- Allow User to enter Zip Code
- Allow User to Give Location a Name
Add Environment Variables
Validate Phone Numbers
When user adds a phone number, they need to verify it with a 6 digit code before it becomes active.
Build User Accounts
Basic User Accounts
- Log in with facebook/google/twitter etc
- Needs to have location (Will end up being multiple locations, so make it many-to-many)
- Probably Satellizer
Connect to Weather API
Need to connect to Weather API for Historical Data when not provided by the User. Needs to have free Historical Data. Looks like Wunderground will let you look up yesterday.
So everyday run a cron Job and check for yesterday's data for each location and add to DB. Since theres only going to be one user I could get away with doing it all at once like that. But really I should:
- Stagger the calls in batches
- Combine similar locations and make one call
Create Daily Entry
Entries need to be done on a certain frequency, probably daily. But don't want to restrict myself if I want to record multiple rain falls in one day.
Fields:
- Date of Record
- Date of Entry
- User Input
- API Input (used as backup if user input doesn't exist)
- Location ID
- User ID (or should I use has-many-through?)
Build Authentication Front End
Need a signup page and reset password as well as the login.
Assign Phone Numbers to Users
In order to use SMS with the user, we need to know which number belongs to them.
Provide User Prompt
Use twilio to built a chat interface for inputting rainfall. Need to assign phone numbers uniquely to users.
- Send User a message at pre-defined time asking how much rain fell the day before
- Allow User to respond with rainfall in inches
- Allow User to send a message unprompted with rainfall in inches as well as specify the date, try to build in keyword search for things like "yesterday", "March 25", "today"
Separate Routes
I'm trying a new way of integrating Angular with Laravel inspired by the separation of routes in 5.3.
Instead of shipping a separate repo for the angular front end and the laravel backend, I'm going to place the angular site within the /public directory of Laravel. Will redirect all user actions to /angular.php which runs the angular app. Not sure how the API routes will work, should I use PHP sessions or satellites and JWT?
Need to see how JWT plays with api routes.
Build End to End Tests
Toggle SMS Notifications
User should be able to turn on/off the daily SMS prompts. Prompts should not be sent to Users who have this feature turned off.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.