Closed nfrgosselin closed 1 year ago
POC of Spec x Allo:
Tech Stack Decision for Allo Scan
Next.js would be selected as front-end framework for building Allo Scan.
This choice is rooted in several compelling reasons:
Ease of Use: Next.js simplifies the development process, making it user-friendly and accessible for our team.
Less Boilerplate Code: By adopting Next.js, we can eliminate a significant amount of boilerplate code and configuration, allowing us to develop more efficiently.
Routing and Server-Side Rendering/Client Side Rendering: Next.js excels in these crucial areas, enhancing performance and SEO-friendliness.
We would use React context to manage states
We would use tailwind and tailwind-ui. The goal here would to avoid building anything custom / complex. Use what is library and avoid complicating the UI for v1 Another option is using daisy-ui which is built on top of tailwind
Data Fetching Options: Chain, The Graph, and Spec
We've thoroughly explored three options for data fetching and have formulated the following recommendation:
Fetching Data from Chain: While technically feasible, this approach may result in suboptimal user experiences due to client-heavy operations. Using Chainsauce to simplify data retrieval is an option, but it may not align well with our multi-chain project.
Fetching from The Graph: Our primary recommendation is to leverage The Graph for data fetching. This solution provides stability and scalability, though we must exercise caution in managing costs and handling multiple URLs for different chains.
Fetching Data from Spec: While intriguing, this approach is currently under development and carries inherent risks. We will continue to monitor its progress and consider it for future migrations once it matures.
Final Recommendation
The proposal proceeds with The Graph for data fetching due to its compatibility with our multi-chain requirements and its strong foundation. We'll keep an eye on the Spec framework's development for potential future use, this would mean carving out time to build on spec and evaluate when the switch should be made.
By selecting Next.js and The Graph, we aim to balance development ease, performance, and scalability. The use of Vercel for deployment will further enhance our development workflow.
@0xKurt @codenamejason This would mean we build allo-scan in a ways where switching data adapters can be done without affecting the business logic
I was able to utilize Tailwind UI today with out-of-the-box components and have a decent look and feel. With this, we should be able to use any of the UI components within the app seamlessly without a lot of css work if any at all. We just have to then update the data for the UI.
I agree with @thelostone-mc on the final recommendation. I think this will allow us to ship and maintain a simple version while we then plan any new features and/or upgrades.
Vercel is an excellent choice, it's very simple to use and has very large community for as new as it is. I am also very familiar with the CI flows and is very simple to set up.
timebox to half a day
We need to figure out our tech stack for AlloScan (i.e. NextJs, React, something else?).
The scope of this ticket is to research options and provide a recommendation back to the team on standup. Remember that we need to ship a completed project by Aug 22, so the proposed solution must fit into that appetite. Let's try to prioritize tools that we know well (to limit learning curve) and that are pre-built.
Resources: