Internal PortalJS Hackathon at Datopian: MasterMinds at work!
Ready, Set, Hack!
Introduction
Greetings from the vibrant world of Datopian! We are thrilled to announce an exciting event that's currently unfolding in our digital workspace. Our dedicated team is engaged in an internal hackathon focused on PortalJS - our powerful open-source framework designed to construct state-of-the-art data portals. This hackathon serves as a platform for our skilled developers to take a deep dive into the depths of data portals, utilizing PortalJS to create outstanding examples.
Core objectives
Our hackathon is revolving around two core objectives:
- To improve PortalJS by using it ourselves - a practice lovingly referred to as 'dogfooding.'
- To build impressive, innovative examples of PortalJS in action.
Our participants have taken up the challenge, dedicating themselves to the task of building and styling data portals. This mission splits into two exciting paths: tinkering with the CKAN Decoupled Frontend or working with a GitHub-Backed Data Portal.
To keep things fair and fun, we've divided up our participants into two equally balanced teams. Each team will tackle one of these challenges. It's a fantastic way to dive deep into the capabilities of PortalJS, all while building teamwork and stirring up some innovative problem-solving!
The why factor: hackathon goals explained
Our aim is to further explore and enhance our framework, identify potential gaps and pain points, and create a collection of demos to share with the world. Ultimately, we hope to onboard our team onto using PortalJS more effectively.
The Nitty-Gritty: Hackathon Essentials
Date and time
The event is scheduled to take place on Friday, May 26th, from 10 am CET to 10 pm CET.
Participants
We've made it accessible to everyone at Datopian, especially other developers not involved in PortalJS who wish to participate, and it's being meticulously coordinated by João Demenech.
Getting help
Throughout the day, there will be a network of helpers on standby to provide any necessary assistance. In addition, participants can reach out to Luccas Mateus. or João for help or if they have any questions.
Discord: The Bridge for Communication
The whole event is taking place online, and communication is facilitated through the PortalJS Discord Server. For general queries, you can post your message to the #general channel. If your message contains sensitive information, please use the #private channel.
Here's the link to our Discord server.
PortalJS: The Magic Behind The Scenes
For those among you who may be intrigued by PortalJS and its myriad features, we've got you covered! To delve deeper into its capabilities, from unified sites to extensibility, feel free to explore the rich resources we have available.
What is PortalJS
🌀 PortalJS is a framework for rapidly building rich data portal frontends using a modern frontend approach. PortalJS can be used to present a single dataset or build a full-scale data catalog/portal.
Built in JavaScript and React on top of the popular Next.js framework. PortalJS assumes a "decoupled" approach where the frontend is a separate service from the backend and interacts with backend(s) via an API. It can be used with any backend and has out of the box support for CKAN.
Features
PortalJS comes with a host of features that cater to both developers and end-users.
🗺️ Unified sites: present data and content in one seamless site, pulling datasets from a DMS (e.g. CKAN) and content from a CMS (e.g. Wordpress) with a common internal API.
👩💻 Developer friendly: built with familiar frontend tech (JavaScript, React, Next.js).
🔋 Batteries included: full set of portal components out of the box e.g. catalog search, dataset showcase, blog, etc.
🎨 Easy to theme and customize: installable themes, use standard CSS and React+CSS tooling. Add new routes quickly.
🧱 Extensible: quickly extend and develop/import your own React components
📝 Well documented: full set of documentation plus the documentation of Next.js and Apollo.
A Techie's Wonderland: PortalJS for Developers
For developers, PortalJS opens up a world of possibilities, building on modern, familiar frontend tech.
🏗 Build with modern, familiar frontend tech such as JavaScript and React. 🚀 Next.js framework: so everything in Next.js for free: Server Side Rendering, Static Site Generation, huge number of examples and integrations, etc.
- Server Side Rendering (SSR) => Unlimited number of pages, SEO and more whilst still using React.
- Static Site Generation (SSG) => Ultra-simple deployment, great performance, great lighthouse scores and more (good for small sites)
The Hackathon Survival Kit: Essential Resources
Check out the PortalJS website for a gallery of live portals. You can also check out some of the cool resources related to the hackathon.
- PortalJS Documentation.
- PortalJS Storybook.
- CKAN example tutorial
- GitHub-backed CKAN example tutorial.
- CKAN demo source code.
Conclusion
We can't wait to share the impressive outcomes of this hackathon with you! Stay tuned for our next update where we'll unveil the amazing work our developers have accomplished. Together, we are pushing the boundaries of what's possible with PortalJS and reshaping the future of data portals!
The journey is just as important as the destination, and we are excited for you to join us on this remarkable voyage through the PortalJS universe. Let's code the future, together! 🚀💻🌍💪