Giter Club home page Giter Club logo

pet_clinic's People

Contributors

calbers4 avatar erickokmanian avatar jonthemango avatar ramzouza avatar saishan avatar skanderbm123 avatar yanis333 avatar yanncedric avatar

Stargazers

 avatar

Watchers

 avatar  avatar

pet_clinic's Issues

Milestone 3

  • Setup sqlite
  • Determine where the calls to the old datastore are in the code
  • At each stage write tests that show your migration and consistency checker is working
  • Make sure to do incremental commits as your work
  • Write a forklift to move over old data to new data
  • Write a consistency checker that ensures that old data is consistent with new data.
  • If it is inconsistent update new with old.
  • Run it periodically and asynchronously across the entire old dataset (incremental replication)
  • Shadow Writes. Write directly to new datastore.
  • Create a shadow writes consistency checker to ensure that only changes in old datastore are consistent in new datastore
  • Shadow Reads for Validation
  • Read from old datastore and new datastore
  • Immediately return the old datastore result
  • Asynchronously check that the new datastore and old datastore returned the same result (Shadow reads consistency checker)
  • Update the new datastore if the results are not the same
  • Read and write from the new datastore
  • Migrate the data and consistency checker in the production
  • Run the checkers
  • Remove the old datastore when your checkers are above a threshold
  • Long-term consistency checker [2 additional marks]
  • Re-purpose the consistency checker to keep a hash record of some unit of the data instead of the old datastore
  • The hash consistency checker should be substantially smaller than the old datastore

To do for Milestone 1

Architecture and Continuous Integration (Due Feb 6th)

  • Basic Architecture
    • Measure LOCs and number of classes
    • Manually describe and diagram the main components
  • Setup the project inside Jenkins (show screenshots of it working)
    • Run all the existing tests
    • Setup static analysis tools
    • Measure test coverage

Describe the overall state of testing on the project (Due 6th) For each of the categories below: Provide a brief description, a snippet of actual code, a link to the code on GitHub. You may also provide a diagram if helpful

  • How long does it take to run all the tests?
  • Which are the longest running tests?
  • Dependencies
    • Are there any inappropriate dependencies that make tests run for a long time?
    • Are mocks used?
  • Are any tests flaky? ie they fail and pass on the same build.
  • Are there parts of the system with no tests? Why? Should there be tests?
  • Do some tests miss critical behaviour or functionality that should be tested?
  • Are getters/setters tested?
  • Do new commits have tests?

Shadow Writes

  • Write directly to new datastore
  • Create a shadow writes consistency checker to ensure that only changes in old datastore are consistent in new datastore

AB Testing

  • See these slides for what I’m expecting
  • Define a feature and name the toggle that will control the feature
  • Insert the toggle so that the old and new “features” are both “live”
  • Log the data you need for measurement
  • Be able to Rollback able to roll back to the old feature
  • Gradually and randomly assign users to feature A or B
  • Do a hypothesis test comparing A and B
  • Collect faked data and be able to show that you can empirically compare the features
  • Subteams should do this for different features
  • You can also toggle existing features

Setup SQLite

  • Determine where the calls to the old datastore are in the code
  • At each stage write tests that show your migration and consistency checker is working

Read and Write from new datastore

  • Migrate the data and consistency checker in the production
  • Run the checkers
  • Remove the old datastore when your checkers are above a threshold

How can the risk of feature toggle technical debt be reduced?

Dear developers,

I, Rezvan Mahdavi Hezaveh ([email protected]), and my colleague, Nirav Ajmeri ([email protected]), software engineering researchers from North Carolina State University are conducting an academic study of feature toggles and technical debt.

In our investigations on GitHub repositories, we noticed that you are using feature toggles in your repository. For instance, in this commit feature toggle functionality is added.

We would appreciate your collaboration in this study by answering an anonymous survey based upon your experience with the feature toggles. This survey has 20 questions and the estimated time to answer these questions is 10 minutes.

The link to the survey is here: https://ncsu.qualtrics.com/jfe/form/SV_5BGE3wNDUtFQqMd

Once you start answering the survey questionnaire, you will have 24 hours to finish it.
As an appreciation for your time, we will conduct a random drawing and give $25 Amazon gift cards to five selected survey respondents. Also, we will share our results with you.

Thanks

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.