Study on the go, with an easy to use flashcard deck manager. Ace those tests from you desktop or your pocket!
Explore the docs »
View Demo
.
Report Bug
.
Request Feature
- About the Project
- Built With
- Getting Started
- Usage
- Roadmap
- Contributing
- License
- Authors
- Acknowledgements
You can view a deployed version of this app at: https://flashcards-frontend-uyqj.onrender.com
Note: Render can take a minute to show relevant information retrieved from the DB. This is a common issue with deployment on Render, but rest assured that the app is functioning and does indeed work properly. If all else fails, try either refreshing the page, or loading in from a new window.
This Full-Stack application allows a user to create a deck of study cards, and edit or delete them as the user sees fit. It prompts the user with a confirmation window upon selecting to either delete a deck, or once finished with a study session you can start over or go back to the home page. The front page displays a list of decks, from which you can view, edit or delete the cards of a deck once selected. It
It utilizes a RESTful API and a Non-Relational Database (MongoDB) to retrieve information (all made from scratch). The Database has two collections: Decks and Cards. Making a delete/update request to one, will make changes within the other if necessary. It uses the Object_Id() property to actively query related cards and decks as a group.
Any CRUD operation that is not allowed on a certain API endpoint will be met with a "Method not allowed" error message and a status of 405.
Front-End Technologies Used:
- HTML/CSS/JavaScript
- React.js
- React-Router-Dom
- Bootstrap (style)
Back-End Technologies Used:
- MongoDB (Non-Relational Database)
- Express.js (RESTful API development)
- Knex.js (database querying)
- Cors
- dotenv
- nodemon (server used for development)
To get started locally, you can fork the repo or download the .zip (be sure to extract it!) as normal, then after you use the command line to cd your way into the directory. After doing so, a simple "npm i" is more than enough to get the project up and running.
To run the front-end, just enter "npm run start:react" to run the back-end, just use "npm run start:dev"
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
- Clone the repo
git clone https://github.com/your_username_/Project-Name.git
- Install NPM packages
npm install
The purpose of this application was to take a front-end application created during my time at an Engineering Immersion bootcamp, and revisit it using new skills I obtained during continued education post-graduation. I wanted to get to use MongoDB due to it's popularity and it quickly grew on me. My friend and cohort Keith and I built a RESTful API together and learned how to use MongoDB in order to rebuild this project. After revisiting the project, there are still some changes I would like to make, but overall it came out very well. I also plan on using this myself during my AWS study sessions for review before my certification.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Please also read through the Code Of Conduct before posting your first idea as well.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Pierce DeAnda - Full-Stack Engineer - Pierce DeAnda - Primary Contributor and Programmer