Skip to content

OSCards deals with implementing a handful of different learning styles, including kinesthetic, auratory, and visual, into a modern day flashcard application.

Notifications You must be signed in to change notification settings

OSLearning/OSCards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

903eb46 · Feb 16, 2021

History

56 Commits
Feb 16, 2021
Feb 16, 2021
Feb 16, 2021
Feb 16, 2021
Feb 14, 2021
Feb 16, 2021
Feb 16, 2021
Feb 15, 2021
Feb 16, 2021

Repository files navigation

OS Cards

OS Cards is a flashcard based, open-source, learning aid application intended to provide options for targeting an individual's preferred learning style - i.e. visual, auditory, kinesthetic, etc. Learning Styles



Installation



  • Fork from this orginizational repository (should you be interested in contributing to this project)
  • Clone the repository to your local terminal and access the project from within your preferred IDE or code editor (e.g. VS Code, Atom, Sublime)
  • Use the following commands to have node package manager install application dependencies and initialize the development server :
npm install 
npm run dev

Contributing to OS Cards



  • Create your feature branch local to your terminal
git checkout -b feature/<name your feature>
  • Commit your changes
git commit -m 'feature branch description'
  • Push to your Github repository
git push origin feature/fooBar
  • Create a new Pull Request

Notes to Prospective Contributors



Front End Notes

Front End Stretch Features



Back-End Features

  • Predominant backend packages: Express and Mongoose.
    [https://expressjs.com/], [https://mongoosejs.com/docs/]
  • All persistent data is stored in a Mongo DB Atlas server.
    [https://docs.mongodb.com/manual/introduction/]
  • Web page is connected to Mongo DB Atlas via a 'mongoURI'. The existing 'mongoURI' is private and a new database cluster must be established in any future iterations of osCards.*
  • In the current iteration of OSCards, all data is stored in a single 'cards' collection; individual card documents are structured per the 'cardSchema'.
  • The server is comprised of a main server.js file that directs requests to the proper router; the router in turn directs these requests to the appropriate controller file.
  • The server is setup to handle:
    • POST requests to create a new document in the MongoDB database.
    • GET requests to retrieve data from MongoDB.

Back-End Stretch Features

  • Provide OAuth functionality:
    [https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow]
  • Enable users to 'copy' other users' existing decks.
  • Modify 'cardSchema' to allow non-text data to be stored in 'card' documents.
  • Handle PUT requests to modify the contents of an existing 'card' document.
  • Handle DELETE requests to delete a 'card' document from the 'cards' collection.
  • Handle DELETE and PUT requests to delete or modify a deck.
  • Restructure database to accommodate multiple users.
  • Serve deck data to the frontend as a doubly-linked-list to enable "quiz" mode. Doubly-linked-list data structure will enable forward and backward progression through a queue of cards.
  • Randomize the order of cards in "quiz" mode.

https://github.com/OSLearning/OSCards

About

OSCards deals with implementing a handful of different learning styles, including kinesthetic, auratory, and visual, into a modern day flashcard application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published