Inspiration
When we think about graduate school admissions, here are some things that come to mind: grades, test scores, statement of purpose, letter of recommendations, deadlines, and fees. Keeping track of all this during the application process can be pretty overwhelming, especially when you're applying to multiple universities. As aspiring students, we find it hard to hunt for information online. This motivated us to build a solution! With our app, we hope to make a part of this challenging process simpler and help you get closer to your dream admit.
All you have to do is sync your Notion workspace, enter some details about the course you're looking at, and we'll provide you with all the relevant and important information right in your Notion.
What it does
Head over to the website and sign up as a new user. This will prompt you to sign up with your email and create a password. Please note, we don't store your password. But more about this later. Once you're in, you will be able to access the dashboard. Here you get to sync your Notion workspace and grant access to our Notion integration. Now, you can enter some details about the program you're considering applying to. We require the link to the program's webpage. Once this has been added, add some more information like - Course name, Track (if any), and whether you're an Internation or Domestic student. This will help us provide accurate and relevant information for you. We don't store any of this information, we only use it to parse the website at our end. When you hit "Add to Notion" you should see relevant information related to this program created in a page in a database in your Notion workspace!
How we built it
Since we were working remotely and only had a day to complete this project, we were big on project mangement and ensured there were no communication gaps. We made use of a Kanban board on Notion to track our progress and inform each other of blockers.
We ideated on a FigJam board in Figma and understood concepts together on Microsoft Whiteboard.
Once we had a clear idea of what each of us will be doing, we started coding! We made use of GitHub as our development platform. Since our project is modular, we created different branches (cockroach-scripts, bs-scripts, etc) containing scripts of each module. In the end, we combined everything in the main branch by opening pull requests. We made sure our commit messages were descriptive (and had an emoji at the end - no idea why we did that!).
Each branch contains a descriptive README so you can read more about each individual aspect of our project. Click to understand more about:
- Database + authentication: Instructions to setup the database yourself (we use Cockroach DB), how we use of Secure Remote Password (SRP), an implementation of Zero Knowledge Proof (ZKP) to securely register and authenticate users in our DB without storing their password.
- Web Scraping: How we use Beautiful Soup to parse the data from websites and filter out the relevant information.
Challenges we ran into
- The official Notion API does not support Python yet so we had to use an unofficial client library which proposed certain challenges and limited our app's functionalities. We're hoping to fix these issues in the future.
- Since the hackathon was only a day long, we did not have enough time to incorporate all the code into the final app. However, we were able to modularise our scripts and run them individually.
Accomplishments that we're proud of
- We familiarised ourselves with an implementation of Zero-Knowledge Proof (ZKP) - Secure Remote Password (SRP). This was exciting because we don't have a background in cryptography or blockchain technologies.
- Despite the difference in time zones, we were able to collaborate efficiently by using project management tools. This helped us ensure there were no communication gaps.
- We're proud of our project's GitHub repository! We put effort into every aspect of maintaining the repo - visuals, documentation, commenting our code, descriptive (yet fun) commit messages.
What's next for Coggle
- Smoother integration with Notion (this is still a WIP!)
- More advanced text parsing techniques that can be implemented
Built With
- beautiful-soup
- bootstrap
- cockroach-db
- css3
- figma
- flask
- html5
- javascript
- notion-api
- python
- srp
- zkp
Log in or sign up for Devpost to join the conversation.