Inspiration
We were interested in developing a chrome extension as none of us have worked with them before. It seemed like a good challenge for us to pursue and cover a lot of ground within a short period of time.
What it does
It is a tool extension that allows users to bookmark their location on a webpage. Also records the amount of text that the user has covered and sends that to our external website. This website will display all created bookmarks, sorted by domain names.
How we built it
- We used Java Springboot for the backend, and gradle as our build tool, with frameworks like spring security to set up OAuth and tokens for authorization
- Docker containerization for consistency with development across multiple machines
- Typescript, Next.js, React and Tailwind for the frontend application
- MariaDB for our SQL relational database
- HTML and JavaScript for developing the chrome extensions
Challenges we ran into
Well basically we lost the battles, and we lost the war. We struggled a lot with authentication using tokens, and dealing with multiple clients communicating and exchanging information all while making sure each request was properly authorized. We also struggled with exchanging tokens, it was particularly difficulty to setup tokens for our chrome extension to communicate securely with our SpringBoot backend. Since this was sort of a big project for us, we spent lots of time planning and designing our products architecture. It was especially challenging as we have never dealt with authentication or multi-way and multi-client communication. However, it was a valuable learning experience.
Accomplishments that we're proud of
Our chrome extension looks good, and on its own functions correctly, particularly our bookmark button. Additionally, the UI is something that we cared about a lot and we are proud of how it turned out. Another thing that we wanted to mention was that our design process was effective, we invested lots of time planning the vision of our product which helped us stay focused throughout the hackathon and achieve lots despite the odds. Even though we didn't manage to fully finish and deliver our final product, we are satisfied with the progress we have made within the timeframe given.
What we learned
We learned lots about developing chrome extensions, how they work and some odd quirks that come with them. Another field that we learned lots about was authenticating client requests, and communication between clients, we felt this was an area that we have greatly improved on.
What's next for ReviseIt
Our vision is to have the extension generate flashcards using the Gemini API which will also create a quiz catered around the flashcards. All of this information will be stored onto a database that will keep track of entries so that the user can access past bookmarks, flashcards or quiz sets. In the future we were hoping to incorporate some statistical information with our users.
Built With
- css
- docker
- html
- java
- javascript
- mariadb
- next.js
- react
- typescript
- vscode
Log in or sign up for Devpost to join the conversation.