The Interledger Community 🌱

Cover image for ProgNovel is LIVE!
Radhy for ProgNovel

Posted on

ProgNovel is LIVE!

After a nearly six months with Grant for the Web my project ProgNovel is finally live! πŸš€

Previously private Github repos are now public, with a CLI is being published to NPM.

GitHub logo prognoveljs / prognovel-workers

Cloudflare Workers for ProgNovel.

πŸ€– ProgNovel Workers

maintained? last commit commit version

How to get ProgNovel backend

Deploy to Cloudflare Workers

  1. Make sure you have a Github account and Cloudflare Workers account first, and make sure you have publish content to Cloudflare Workers network by following https://github.com/prognoveljs/prognovel-cli. Start by clicking Cloudflare Workers deploy button above.
  2. Authorize Clouflare Workers with your Github account. If you are redirected to the main page of Cloudflare Workers deploy site after authorizing, simply click browser's go back button to return to ProgNovel backend's deploy page.
  3. Add your account information. Enter your Cloudflare Workers Account ID and API Token, which the deploy page has guide for.
  4. The deploy process will pause once you get to the next step and will ask you to enable Workflow for Github Action of your repo. Click the link to your repo and enable Github Action for your repo if you haven't already. Go back to the deploy page and click the "Workflow…

GitHub logo prognoveljs / prognovel-cli

CLI for ProgNovel.

πŸ’» ProgNovel CLI

maintained? last commit commit version

πŸ‘‡ ProgNovel CLI installation

Before you install ProgNovel CLI, you need to host backend for ProgNovel first. Follow installation guide for ProgNovel Workers backend here. Once your backend live, proceed installing the CLI:

  1. Install ProgNovel CLI to your computer. You need a stable release of Node.js installed first, then in command prompt, run npm install @prognovel/cli -g.
  2. In an empty folder, open command prompt and run prognovel new.
  3. You need to have a way to connect to Cloudflare Workers servers by setting the value of environment secrets. If you manage your ProgNovel project folder locally in a computer, you can configure environment secrets via .env file in your root project folder created in step (2) - (.env file might be hidden in your Explorer app); if you host this project folder on Github repo, you can consult this page to create your environment…

GitHub logo prognoveljs / prognovel-app

Next-generation webnovel Progressive Web App.

πŸš€ ProgNovel

NodeJS Build maintained? last commit commit version netlify

Demo | Changelog | Promotional Video

ProgNovel Promotional Video (YouTube) ProgNovel Promotional Video

ProgNovel is a JAMstack web app to make great webnovels. The main feature of ProgNovel, beside offline-first web app with offline read features and great performance, is to be able to inject interactive plugins for content creators to experiment with. Because ProgNovel built mainly in Jamstack architecture, it can be hosted with great loading page performance on many Jamstack platform free-tier offerings such as Netlify and Cloudflare Workers.

Screenshot

ProgNovel on Desktop ProgNovel on Desktop

ProgNovel on Mobile ProgNovel on Mobile

Self-host ProgNovel

Although ProgNovel strives to be as simple as possible, it is currently very difficult to create a smooth flow for deployment due to how young Jamstack ecosystem is (the architecture ProgNovel uses). In the future as the toolings more mature, we're hoping to simplify the deployment process - but for now we'll have to get our hands dirty and go through…

Though technically anyone can self-host ProgNovel now, I'm still actively looking for installation bugs and doing trials and errors to test the deployment flow to ensure the installation instructions are correct (unfortunately here I didn't manage to make them as simple as I want to be due to CI/CD issues with hosting/backend platforms). Not to mention that the documentation is still needs a little bit polishing. So while the code are being public I still need a bit time to actively announce that ProgNovel is published.

I'm expecting for an official launch around 10~15 December. For now, feel free to look around and let me know if there's anything that interest you.

Cheers
πŸŽ‰πŸŽ‰πŸŽ‰

Top comments (5)

Collapse
 
chrislarry profile image
Chris Lawrence

Congrats on the launch!

Collapse
 
radhyr profile image
Radhy Author

Thanks Chris!

Collapse
 
monitoring profile image
Monitoring

When installing the backend, can i install without Github and Cloudflare Workers accounts?

Collapse
 
radhyr profile image
Radhy Author • Edited on

Hello @monitoring!

To answer your question, unfortunately currently the backend is still vendor locked in to Cloudflare Workers serverless platform, so you need CF Workers account to host the backend (no need for premium account, just use free-tier for testing). You'll need to authenticate to CF Workers when you run "wrangler login" on your CLI. Github account isn't needed actually for the backend if you manage to publish just via CF Worker's Wrangler CLI, I sorta put Github there as requirement maybe because I sloppily copy-paste'd the readme template from the frontend repo.

There was a plan to host the backend as static JSON files that not requiring CF Workers platform but put them into traditional CDN - but that was scrapped earlier in the development since they don't really protect premium chapters from being downloaded from browsers' devtools. ProgNovel default for now is to use serverless for the backend, though there still consideration for option to scale the backend with Serverless + Static JSON hybrid in the future, depending how ProgNovel is actually being used.

Collapse
 
radhyr profile image
Radhy Author

@monitoring I noticed you sent me an email regarding of ProgNovel. We can talk over email for potential collaboration you propose.

In the meantime, this community also over various projects that experiments and exploring new and novel business models like ProgNovel does. So feel free to browse/join post and discussions this community has to offer!