-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GSOC 2025: Upgrading Tour from google sheets and local storage to database with authentication #873
Comments
Something to keep in mind is that JSON Schema is supported entirely by donations and that doesn't amount to much. The tour site is a static site and adding and a backend, database, and auth will mean recurring hosting costs. So, you'll want to include in your proposal the projected hosting costs for making this change so we can decide if it's worth spending our limited resources on this project. The proposal is pretty vague on the details of what benefits we get out of this investment. For example, what specifically would be included in an admin dashboard that would justify cost of setting up authentication? |
Thank you for bringing up these important points! . We can keep costs low by using MongoDB Atlas Free Tier for the database and custom JWT authentication (no recurring fees). Hosting can stay free with Vercel/Netlify for the frontend and backend. The upgrade brings:
Estimated costs: $0 (free-tier services). This is a small investment for a faster, more maintainable, and feature-rich site. With the database in place, we can generate valuable insights and analytics, such as:
These stats can be displayed in the admin dashboard and used to improve the tour experience and make data-driven decisions. Why This Matters
|
I'm a little skeptical we'll be able to use free-tiers. Free-tiers are generally for small hobby sites. I'm not sure how much traffic the tour site gets, but are we sure we'll fall under free-tier usage? I'm still not seeing a solid argument for why we need this. It sounds like a solution without a problem.
I'm not sure the tour site needs to grow. It will need some maintenance and some content updates from time to time, but otherwise it does what it needs to do. Making it ready for some hypothetical changes in the future that might never come is not a good enough reason to make changes. My suggestion is to redo your proposal from a different perspective. Start with a real pain point for users or maintainers and make that the focus. Transitioning to a database shouldn't be the goal, it should be part of the solution to achieving the goal. For example, let's say that maintainers are finding it onerous to maintain lessons on the site and after discussion, it was decided that it would be better to have an admin portal where they can manage lessons. (I doubt that decision would be made, but for the sake of the example, let's say it happened.) Then you could make a proposal for an admin portal that includes transitioning to using a database and registered users. The point is that your proposal needs to be addressing a real need, not just something that could be useful in the future. I think the only real need that you're presenting is analytics and I believe that's already handled. If it's not, I think it would still be better to use something like google analytics than to require users login and try to build analytics ourselves. |
Hello everyone, I agree with @jdesrosiers. I don't think the tour needs to be scaled further. in my opinion currently the tour is in pretty good condition (compare the tour with other similar projects). Moreover, The content is written in Markdown JSX, so if someone knows how to open a pull request on github, it is quite straightforward for them to request changes in the content. Adding a Admin dashboard just to update the content would add increase the work of the developers as well, it would be more continent to just update the Markdown files. |
Got it, that makes sense. I’ll rethink the proposal with a real pain point in mind. Thanks for the feedback! |
Project Title
Upgrading JSON Schema Tour Website with a Database
Brief Description
The JSON Schema Tour website (https://github.com/json-schema-org/tour/) is a cool tool. Right now, it uses Google Sheets and local storage to manage data, which works but has limitations. This project is about moving the data to a proper database to make the website faster, more scalable, and easier to maintain. It’s a simple but impactful upgrade that will make the site more reliable and open doors for new features in the future like admin dashboard , generating stats and so on.
Expected Outcomes
Skills Required
Mentors
TBD
Expected Difficulty
Easy
This is a straightforward project. It’s mostly about moving data to a database, connecting it to the website, and adding authentication. Perfect for someone who’s comfortable with basic web development.
Expected Time Commitment
175 Hours
It’s a small project, so 175 hours should be enough to get everything done and tested.
The text was updated successfully, but these errors were encountered: