axelclark / golf Goto Github PK
View Code? Open in Web Editor NEWgraphql api for a golf scorecard app
graphql api for a golf scorecard app
holes_to_play default should be 0, otherwise the front end gets nil when complete
Scores should be sorted by hole number in Round show
See Phoenix context guide
Show Course Name on List of Rounds
Enable Password Reset & Persist Cookie
Remove Phoenix branding
Add mutation for score changes
A round should only be created from a course, so the new action and link to new action from Round index is not necessary
full table should fit on screen for mobile
using Date.utc_today in Round schema sets the date at compile time
Add a mutation to delete a round, so a golfer can delete a round if it is not used.
Would like to reduce min password to 6 characters to ease log in
Next step in mobile app is to create a round from a list of courses
Add holes to courses to track the par and hole number.
Should use 0 for default rather than nil. 0 means you have not played the hole since its impossible to complete the hole in 0 strokes.
Change track from date to datetime to enable tracking of how long the course took.
Would like to add a registration screen in the mobile app.
Update links to buttons and change show to link to name on all index pages
Need to send back round with score mutation so Total Score gets updated.
Auto migrate
23:51:05.359 [info] == Running 20181202232729 Golf.Repo.Migrations.AddDeleteAllToHolesForCourseId.change/0 backward
** (Ecto.MigrationError) cannot reverse migration command: alter table holes. You will need to explicitly define up/0 and down/0 in your migration
(ecto_sql) lib/ecto/migration/runner.ex:208: Ecto.Migration.Runner.execute_in_direction/4
(ecto_sql) lib/ecto/migration/runner.ex:112: anonymous fn/2 in Ecto.Migration.Runner.flush/0
(elixir) lib/enum.ex:1925: Enum."-reduce/3-lists^foldl/2-0-"/3
(ecto_sql) lib/ecto/migration/runner.ex:110: Ecto.Migration.Runner.flush/0
(stdlib) timer.erl:181: :timer.tc/2
(ecto_sql) lib/ecto/migration/runner.ex:27: Ecto.Migration.Runner.run/7
(ecto_sql) lib/ecto/migrator.ex:211: Ecto.Migrator.attempt/7
(ecto_sql) lib/ecto/migrator.ex:149: anonymous fn/4 in Ecto.Migrator.do_down/4
Need to return course name when round is created so client cache can be updated
Should show your score for a round
Courses should be listed at the root
Add score to keep track of strokes for each hole
Generate holes when a new course is created based on num_holes
Need to update on delete settings for tables.
2018-12-26T20:29:28.271894+00:00 golf[golf-6555d96594-k49ft]: web.1 | 20:29:28.271 [error] Postgrex.Protocol (#PID<0.2200.0>) failed to connect: **
(Postgrex.Error) FATAL 53300 (too_many_connections) too many connections for role "399261c3-bcb8-40f4-b2f1-3599b3c836a5-user"
New registration error for password too short should state the minimum number of characters.
May want to copy this controller:
https://github.com/danschultzer/pow/blob/master/lib/extensions/reset_password/phoenix/controllers/reset_password_controller.ex
Allow a user to update or add holes through the course form.
Add query to get a Round
Deleting a course causes an internal server error
Add helper to handle errors in resolver to reduce duplication of code
https://hexdocs.pm/ecto/Ecto.Changeset.html#validate_number/3
Validate all numbers are not negative
When a round is created, it should use the current user from either the conn
or the context
Need to add a nested form to update a course and holes on the course.
Add ability to create or delete a hole from courses form
Add rounds to keep track of scores
Would like to add ability to create a course in the app
Change number of stokes with + & - buttons
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.