Inspiration
The initial spark for our project idea was when we first heard Google's prompt and immediately thought, "I want an internship!" On a more serious note, as programmers, we often use Leetcode so we wanted to take a similar approach to general knowledge and information. Making information and education universally accessible was a core ideal that helped shape our project.
What it does
Our desktop app DeepDive categorizes information into specific questions motivated by learning goals. After the user answers a question, they're given links to other sources, meaningfully shaping their educational journey.
How we built it
We built it using html, css, and js. Electron served as a way to build a desktop app as a website where we made use of the contextbridge feature to communicate between the main and renderer processes via the preload.js script. We also made us of repl.it to host a node.js server that the client would communicate with for registration and login, along with some json for preferences and user data.
Challenges we ran into
One of the challenges we ran into was hosting and handling a server, we solved this by using what we found as an interesting approach. It involved the usage of repl.it where we ran Node.JS with a variety of endpoints for client to server communication.
Our biggest challenge, however, would have been the proper processing of JSON in an asynchronous manner. By having efficient team communication and good planning, we were able to overcome all of our obstacles.
Accomplishments that we're proud of
For two people on our team, it was their first time participating in a hackathon. We're all proud of how much they learned and how many high-level concepts they were able to grasp due to the willingness and ability to teach from the other two, much more experienced, hackers.
We're also proud of how much we were able to learn regarding electron and Node.JS in such a short period of time.
What we learned
The two lesser-experienced members of our team learned quite a lot about how Node.JS and Electron work, as well as the general flow of logic and data throughout a desktop app.
What's next for DeepDive
DeepDive has the potential for AI integration for checking, and generating questions/submissions, as well as tailoring the user's learning path. Ability for users to post custom questions and other small updates. We would also want to bundle the application into a .exe.
How to Run
- Clone the repo
- Navigate in any terminal to the directory of the project
- run "npm install" to download dependencies
- Type "npm start" to boot up the program
- If any login issues occur, use the development account to login: • username: Jason • password: 123
Log in or sign up for Devpost to join the conversation.