-
-
The home page (search mode), with a top-right button to access upload mode.
-
The search mode sketch, with the filters dropped down and the results.
-
The result design sketch, with the file icon (or the extension icon), the file info and tags, and the uploader's display picture and info.
-
The second page (upload mode), with a top-right button to access search mode.
-
The upload mode sketch, which had a few changes.
Inspiration ✨
We decided to take on the challenge of developing Gradiant's dream idea: an easy-to-use documentation and expertise software.
We also enjoy making fast and powerful software, and developing good algorithms to achieve our idea, so we thought this was perfect for us.
Finally, even though we are aware that it's not everything, the prize caught our attention, and we think it's a great tool to tinker with.
What it does 🎯
It's a documentation and help search software. With two bars, one for regular search and the other one for tags, this powerful query tool can perform fast access to information, composed of both documents and contact with experts on the topic of interest. Also, there's two filters, which allow the user to either only show documents, only show users, or show both (this third one obviously is identical to not toggling any of the two filters).
Any registered user can upload their own files, unlike search mode, which can be done by anyone. The main goal of having a user database is that it grants a secure system and also allows users to manage (delete, for now) their own files, if there was a mistake.
How we built it 🔨
We used HTML and CSS for the frontend, and JS to connect to a Supabase database, the backend, composed of two main tables, "datadocs" and "usr", for documents and users, respectively. Although these table names stay the same, the client could can modify the columns any time, based on their own goals and interests. Since clients could potentially go from a "coding buddies afternoon party" to a big-tech company, we believe flexibility is a must when it comes to managing data.
The frontend intends to be the most intuitive and fastest, simplest and easiest experience for the user, with a powerful backend in the background, performing lightspeed query request calls, instantly displaying the desired results. No bloat, no unnecessary containers, just a centered, straight-to-the-point dynamic box.
Challenges we ran into ⚡
The main challenge, although not the hardest, was working (or playing) with a new technology for us, in this case it being Supabase. It was really hard to implement into JS (or rather, the opposite), and build the functions. But not only Supabase itself, the mere fact of wanting to send and receive information from a website to an SQL database and vice versa. Of course, there's always more efficient methods, but it was still fun to try it, and we were proud of what we were able to do.
The frontend, although fun to a high degree, was still complex to design the way we wanted it to be (the sketches can be seen on the blackboard images, which were meant to portray the potential of our software).
Accomplishments that we're proud of 🏆
Building a great and intelligent frontend. We believe in the user experience deserving a great portion of the pie, and we think we have achieved that... at least partially.
Designing a fast search "engine", with instant results. Even though it wasn't the first time trying to implement an idea like this one, it was definitely something impressive considering our current knowledge and skills, at least for us.
What we learned 🧠
To not reinvent the wheel too much, unless not doing so requires learning some ancient language made in Hell with an obscure documentation that can only be understood by the mythical wizards of the Enchanted Realm.
Focusing on a good frontend makes a great website. Focusing too much on a good frontend ends up leaving out a half-baked backend (but hey, for that cool animated button it's worth it, ain't it guys?!)
What's next for KashiFind 🌌
Turn it into some sort of bulletin-board-kind-of forum, or make a user board based on reputation points, and build a community based on learning and sharing knowledge, focusing on computer science, coding and software engineering and development.
Built With
- css
- html
- javascript
- sql
- supabase
Log in or sign up for Devpost to join the conversation.