Inspiration
We looked at apps like Duolingo and Memrise. We wanted to emulate them, but also to add on to them through additional features.
What it does
It allows users to create flash cards, then go through rounds testing them on their ability to correctly answer quizes. We built a high scores table to show the top players.
How we built it
We built it with the PERN stack. We used PostgreSQL for our backend to store both user and flashcard data, express and node.js for our server to process user requests and connect the UI to the database, and react.js for our front end.
Challenges we ran into
Our main challenges include:
- Use of the PERN stack--adding features often required integration across the entire stack. Because not all team members were familiar with the entire stack, we needed to break down tasks and coordinate with each other.
- Using git and github for version control--We faced a learning curve initially while using GitHub. We were able to help each other, and referenced tutorials to ensure that we were able to coordinate our efforts as a team.
- Integrating phaser.js-- we wanted to build in a mini-game using phaser. However, we found it more difficult to get up to speed on this technology than we expected. We hope that we can continue to work on this for future improvements. ## Accomplishments that we're proud of Building this application came with a long series of small victories. But one of the most notable accomplishments was when we were able to integrate the full stack by having our flashcards from the server display and interact with the UI. That confirmed that we were on the right track! ## What we learned
- Detailed planning in initial design can help anticipate challenges with unfamiliar technologies--our initial planning focused on what we wanted to accomplish rather than how we wanted to accomplish it. Focusing in on the technologies we intend to use during the initial planning would help us in future projects. Importance of Git & GitHub for team projects--this hackathon served as an excellent introduction to git for a lot of us. We saw how much it can help coordinate group efforts. Clear communication helped troubleshoot issues and streamline development--communication kept us on track and ensured we were working together. We found a relatively simple solution--a discord channel to help keep communication constant and coordinate our efforts.
What's next for Flash Card Application
We have several ideas for what we would like to improve upon in the future:
- Add a variety of mini-games using the flash cards to entertain users while they learn.
- Implement alternate answers to each flash cards to challenge users with possible answers that are relatively similar to the correct one.
- Develop a system to categorize flash card types by difficulties. We want to allow users to progress as they study a topic.
- Design a system to expose users to flashcards they they answered incorrectly in the past.
- Create an admin login portal to help manage flashcards and users.
Log in or sign up for Devpost to join the conversation.