About Papyr CMS
Papyr CMS is an easy-to-use, easy-to-extend content management system built on the NextJS React framework. It is designed around a number of free-but-scalable services that exist to help you get started and grow including Heroku, Cloudinary, and Stripe.
Papyr is currently most useful as a jumping-off point for developers to spin up quick, fully-featured websites that can be easily extended. Once a Papyr site is running, it is designed to be easily usable and customizable for anyone. While this is a great place to start, we are working hard to get it to the point to where anyone can spin up a Papyr site regardless of their coding or devops background.
- Out-of-the-box features
- Content/header/footer customization
- Page builder
- Several unique sections to use in the page builder
- Responsive layout
- Site notifications
- User accounts
- Contact form
- Bulk emailing
- Gmail integration for emails
- Stripe integration for payment processing
- Google maps integration
- Google analytics integration
- Cloudinary integration for image upload/storage
To see a demo page of what Papyr is capable of, you can visit https://derekgarnett.com/demo.
Papyr was built on the Next.js framework. Next.js, as used in PapyrCMS, is a React framework that is incredibly useful for its ability to Server Side Render out of the box. Among other things, one important advantage this provides is SEO. Additionally, the very fact that Next.js uses React means that it has the potential to be navigated at extremely high speeds. Papyr leverages this by fetching and storing public data in memory on the initial site load so that it uses this when switching pages rather than needing to make an API call every time you switch pages, making general site navigation incredibly quick.
From a development perspective, Next.js makes it extremely to add and easily route custom pages and API endpoints without having to manage a custom server. Everything lives an a directory called "pages". From here, routing is as easy as adding a file somewhere inside of that directory, and the route will appear exactly as it appear within the directory. For example, if you create a React component whose file path is "pages/landings/about.js", this component will be rendered at "yourwebsite.com/landings/about". The same works for API endpoints, except this will live in a directory called "api" within the pages directory, and instead of a React component, you will use a traditional Nodejs function with the "req" and "res" arguments.
While only a few major features of Next.js were touched on here, they offer a wide variety of features to make developing and using websites on their framwork a breeze, and they even provide a helpful tutorial to easily get over the small learning curve. Whether you intend to use Papyr as a starting point, or use Next.js to build something from scratch, we encourage you to check it out at https://nextjs.org/learn/basics/create-nextjs-app.