Inspiration
SingleStoreDB is unique among the crowd! We wanted to take this opportunity to build something unique, that allows users to quickly import/migrate any database that they have publicly available to their SingleStore DB without the need to go through a complex backup/migration process offered by most providers out there. We gathered a group of nerds from multiple places in the world and came up with this great idea, "Copyable" a tool for everyone to allow users to move their databases to SingleStore in a wink.
What it does
Copyable is a SaaS application built with NextJS that allows users to copy/migrate a database from MongoDB, MySQL, Postgres or any other Database Server, to SingleStore DB by auto-magically figuring out the fields Data Types (Schema) for every collection/table from the external database and creating the same schema in SingleStore DB in an appropriate mapping format.
How we built it
We started out with a document in Google Drive that allowed us to put our ideas in place. The team got together only once, the rest of the time we were solving everything with GitHub issues and in a discord chat that we created. The App was created on top of SingleStore DB and wrapped the plain queries with Sequelize to gain some speed. The framework we used was Next JS due to the majority of us knew how to code in React. At first, we broke everything and then step by step we took the project until the first POC. We based the product design on Chakra UI and the horizon-ui.com dashboard template.
Challenges we ran into
We started a week before the deadline :) So, the time was really restricted for us! We were in completely opposite timezones which allowed us to work 24h a day, but at the same time when one of us got stuck, would have to wait until the next day for the others to come up online.
Accomplishments that we're proud of
Being part of this amazing hackathon provided by SingleStore DB Team and looking forward to joining again in the future. A working POC application Copyable that is out there waiting for you to go and test it out! Learned a lot about Next JS and SingleStore DB.
What we learned
- Time is not a problem when you have enough love for what you do.
- Technology is not a problem when you have a skeleton of an app + dashboard.
- DB Schemas are always complex to migrate and by analyzing a chunk of the data you can't infer exactly how many fields the collection may have.
- SingleStore is blazing fast :)
What's next for Copyable (a SingleStore DB migration tool)
It would be awesome to be able to properly implement this app and make it available to the world. The team would love to spend some effort in implementing the migration to be run by worker threads and notify users about the migration process properly via WebSockets, we didn't find time enough to finish that. A more beautiful and useful dashboard. We would love to have more contributors to the project.
Log in or sign up for Devpost to join the conversation.