Code Monkey home page Code Monkey logo

cs.weightlifting's People

Contributors

thomas-elder avatar

Watchers

 avatar  avatar

cs.weightlifting's Issues

Logged in Coach page

Build page for a logged in Coach User.

Standard nav, with the additional tabs for viewing a list of Athletes, and for each Athlete being able to view a list of their sessions.

Return DTO errors

Not sure the reasoning behind having the errors on all the DTOs be structured as dictionaries.

From the front end, you'd check the Success flag, if it were false, you'd be looking for errors to see how to handle it. So would you traverse keys first, then the messages? Am I likely to have multiple errors with different dict keys being returned? Certainly am not at the moment... Is this needlessly confusing?

Review and refactor.

Receiving API JWT

When a user logs in to the Web app, a request will be sent to the login endpoint on the API. If the credentials are valid a JWToken will be returned as part of the response. Figure out how to parse this response to retrieve this key.

Configure settings appropriately

Currently just have the url we're hitting for the API hardcoded program.cs. This should be in the appsettings.json file for dev, so we can easily sub in the production config when the time comes.

Additionally the API port is being set by default somewhere, need to have control over this too.

Repository Documentation

Update project documentation. At this point revisiting the project, it's easy to see where gaps are in this regard, write them down here as they become apparent, then fix them.

  • Document the auto-test process with github
  • How swagger works
  • How the github project and issues should be used

Database Maintenance

Need to add documentation on managing the database. There's a document from a separate repo with a description of how to initialise/update the db, review this and add to the readme/wiki here.

Test endpoint

Setup a basic endpoint for the API that just returns ok when hit, and doesn't require any auth. Just for testing the web app is able to contact the API.

Coach Service

Need to create a web side service which gets data from the API. This one for Coaches.

Athlete Service

Need to create a web side service which gets data from the API. This one for Athletes.

Rework the register page so you can create an Athlete or a Coach

At the moment the simplest way of doing this would be to have a radio for selecting which type of account you want to register, and then direct the registration request to the appropriate endpoint.

We have RegisterAthlete and RegisterCoach to work with, but these don't need to be separate registration pages. They both use the same UserRegistrationDTO.

Hitting the API from the Web app

As a starting point, set up a service that successfully contacts the API. The result of the interaction is unimportant at this point!

Landing page

Build landing page for the web app, including nav. Need home, about, login. Once logged in we want home, about, log out.

Personal bests

Need to be able to identify and serve personal bests for each athlete, for each exercise, and by repetition number.

For example, I need to be able to ask for the highest weight lifted for 3 repetitions in the back squat. Additionally the date this was lifted should be returned.

Not sure if this requires a new table to compute and store personal bests as they happen, or something I could calculate on the fly for each request.

Delete Athlete/Coach

Deletion of Athletes and Coaches needs to be handled in the AccountController and AccountManager, as we want to remove the Athlete and the associated User at the same time.

Also need to look into how to expire the JWT if the current user deletes their account. We don't want them to have access from that point on.

Sending API JWT

The JWT needs to be attached to requests to authorized endpoints on the API.

Testing for Web Services

Need to investigate testing the web services. Can this be done just like the unit tests for the api managers?

Logged in Athlete page

Build page for the logged in Athlete User.

Standard nav with home, about, log out. Also need sections for viewing a list of sessions, and adding a new session.

Logging In

Investigate and implement logging into the API from the web app.

JWTHandler

Re-write documentation for this class, with clear summaries and in depth explanations, make sure you understand how it works.

Storing API JWT

When a user logs into the API a JWT is returned, which allows them to access authorised endpoints.

From the WEB app I need to be able to accept this JWT, store it somewhere, and send it with successive requests to the API.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.