Giter VIP home page Giter VIP logo

oscards's Introduction

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

oscards's People

Contributors

annieshinn avatar astaiglesia avatar rahmteen avatar taoantaoan avatar zbrucker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.