You are browsing as a guest. Sign up (or log in) to start making projects!

OpenAtlas

  • 9 Devlogs
  • 23 Total hours

OpenAtlas is a knowledge atlas that automatically organizes everything you save from the web into projects . A browser extension lets you instantly capture links, while the system classifies, tags, and links them so you can rediscover information without digging through tabs or bookmarks.

Ship #1 Pending review

NOTE: This project is NOT available or usable on mobile. Please skip if you are on mobile.

OpenAtlas is a personal knowledge management system I built from scratch. It is both a browser extension that lets you save any webpage you're viewing with one click, and a full web dashboard where you can organize those saved pages into projects, edit them, and manage your account. It's built with a Node/Express backend, SQLite for storage, a React frontend, and a vanilla JS browser extension, and the entire thing was built and deployed by me with no templates, frameworks, or otherwise used.

The biggest challenges were spread across nearly every layer of the stack. Early on, learning how to build a genuinely secure authentication system was the hardest thing: making sure passwords were properly hashed and never stored or exposed in a vulnerable way. SQL and database design caused a surprising number of headaches later on, to the point where I had to rewrite large chunks of the server and database logic because requests weren't reliably pushing to or pulling from the database. As the project grew past 40+ files, keeping the codebase organized became challenging, with so many imports and figuring out where things lived started to genuinely be difficuly. Deploying the project also lead to a host of problems: learning what actually has to legally exist in a Terms of Service and Privacy Policy, understanding CORS well enough to configure it correctly rather than just disabling protections, and more.

Despite all that, I created this project. I would love for you to give me feedback.

Try project → See source code →
Open comments for this post

1h 57m 54s logged

OVERVIEW:

Most of this time was spent adding detailed documentation. I added a table or api endpoints, detailed info on how to run locally, info on security and the tech stack, and put a lot of work in it. My readme is 300 lines long and I am very proud of it. I also made a file tree with info about it which is pretty cool. Also fixed all bugs I could find.

NEXT STEPS:

  • Ship!

CHALLENGES:

Readmes are hard to write. Making tables are really annoying and take forever.

0
0
6
Open comments for this post

2h 6m 55s logged

OVERVIEW:

This is a major update with a lot of time working that wasn’t tracked. I have made a projects page for each project, involving editing the project, and viewing more details. Ive updated the UI a bit. Ive added a privacy policy and a TOS. And I redid the organization of the project to include pages (e.g openatlas.jackjacobson2011.com/privacy). I am preparing to launch the project soon, and have applied for the extension in the firefox add on store. I also have double checked security and have published the project on my website, where the frontend and backend now live.

NEXT STEPS:

  • Write readme
  • Get on other extension stores

CHALLENGES:

  • Learning what legally has to be in a TOS and privacy policy
  • Learning about CORS and its best practices
  • Dealing with firefox
0
0
5
Open comments for this post

1h 21m 16s logged

NOTE ABOUT INACTIVITY:
I have had some stuff in my life that has kept me from working on this project. It has been 23 days, but this will get back on track. I cant wait to finish this and release it for everyone!

OVERVIEW:

Added a working inspector, a lot of bug fixes, and functioning projects.

NEXT STEPS:

  • AI
  • Project pages
  • Improved UI

CHALLENGES:

  • A lot of bugs
  • I have limited cybersecurity knowledge so I had to do a lot of research to ensure my site is secure
0
0
3
Open comments for this post

4h 49m 14s logged

OVERVIEW:

Once again, I am very sorry for the long time between devlogs. This came with a suprising amount of bugs that took a suprising amount of time to fix. But, now the other two pages of OpenAtlas work! You can log out and delete your account, save to projects, sort by projects, and have everything secure and deletable at the click of a button.

NEXT STEPS:

  • Make projects page more detailed
  • Make project AI-detectable (waiting on more nest resources for that)
  • General UI improvments
  • Add functionality to inspector

CHALLENGES:

  • The majority of problems came from SQL. Had to redo a lot of server and database code because it was having so many issues pulling and pushing to the database with my api.
  • Organization is also starting to prove to be a massive problem as this project grows with 40+ files, its hard to keep track of what is where and imports and such
0
0
2
Open comments for this post

1h 31m 21s logged

OVERVIEW:

I have regained motivation, ig the backend just kinda bored me with all the problems and such. But also, made the extension actually good! The styling matches the website now, and you can now login to the extension. I also added so the resources are saved with your user in mind, so you can later recall only your resources, which is vital functionality.

NEXT STEPS:

  • Add more UI pages
  • Add categorizing

CHALLENGES:

  • Using my API and modifying it to have the correct data has been really fun and interesting.
  • Even further learning about SQL has also been fun.
0
0
3
Open comments for this post

6h 15m 20s logged

OVERVIEW:
First of all, I apologize for the massive amount of time without a
devlog. Recently I have felt a bit burnt out with this project and have
been spending a lot of time with only a little bit to show for it.
However, that being said, a true signup and sign in system has now been
implemented! You can sign up with an account, the password is encrypted
so I can’t see it, and it is securely stored in a database where you can
now log in with those credentials at any time. I have the framework for
preferences set up and more. Also, this stardance platform has had
massive improvements these last week or two, so thanks everyone at
HackClub for your great work!

NEXT STEPS:

  • storing user-specific entries, and connecting the extension to
    specific accounts
  • Further UI pages
  • Setting to delete your data from the database

    CHALLENGES:
  • The majority of the reason for this taking so long has been learning
    how to securely do the system, the last thing i want is to release a
    project where I can see your password, or where the password itself is
    stored in a vulnerable way, or where personal info is stored. Learning
    the right way to do this has been amazing
  • This has also required me to expand my sql skills, and learning how to
    interact with databases better than I have been
0
0
3
Open comments for this post

2h 25m 20s logged

OVERVIEW:
Began work on front end! Nothing is functional atm, and it doesn’t look great, but the framework is there. All of the projects and middle stuff are placeholders. It does look workable though. And also I actually figured out newlines?!?!?!?!?! Thanks random guy on slack

NEXT STEPS:

  • Improve looks
  • Other pages
  • Improve extension design

    CHALLENGES:
    ‎- Variables in css, they should be helpful for later editing of design, and was very interesting to learn.
    ‎ ‎
    For this devlog I decided to also highlight some challenges that have been persistent throughout the projects, those are below.
  • Error messages. In an effort to improve the opensource-ness of my project, I have been working to include fallbacks and useful error messages. It is not only helpful for my own debugging, but for everyone else trying to use or replicate my project!
  • Proper naming conventions for variables and functions are also part of this effort for me, in the past I just make everything camel case, but recently have been trying to do better with this.
0
0
6
Open comments for this post

59m 30s logged

OVERVIEW:
Linked server to a database! I am using sqlite to store all data, which was really fun to learn. Whenever the server receives a packet, it pushes it to the database, which updates in real time. Also set up framework to have get requests from the database, so data can be read. Also turns out I lied about being able to use devlogs correctly, my method for newlines in these devlogs just stopped working, its great.
NEXT STEPS:

  • Begin webui, I decided to use react after some research because it appears to be much more useful of a skill than just vanilla html, css, and js, which is what I used for webos.
  • Improve extension design
    CHALLENGES:
  • I learned a lot about databases which was really interesting, however I found it difficult to figure out how bits worked in the database as well as learning how sql requests work
  • It was also difficult to be able to see the database, it isnt a necessity for the project but is really nice so you can actually see the state of the project data
0
0
4
Open comments for this post

1h 12m 46s logged

OVERVIEW:

This time was spent creating the basis for what OpenAtlas will become. I created a basic extension, imported it into firefox, and made it communicate with my server. I learned a lot about how extensions work. It should also be backwards compatible with Chrome. I can’t wait to learn about databases. Also, I finally figured out how to properly format devlogs, HackClub please make this easier, just make newlines be newlines, I am begging you!

NEXT STEPS:

  • Create and figure out how to use databases
  • Start WebUI
  • Improve extension design

CHALLENGES:

  • Learning how to use a manifest in my extension and how important they are
  • Learning how javascript can interact with a browser through various commands
  • Learning how servers work and can be interacted with
0
0
3

Followers

Loading…