Code Monkey home page Code Monkey logo

pjournal's Introduction

pjournal

Have you ever wanted to self-host a web application just to replace something you could do with a notebook and a pencil? So have I.

pjournal is a web app for keeping a personal journal—like a blog that only you can see. It supports multiple users, full GitHub-flavored markdown, editing, and client-side encryption. Set a local encryption password, and all new or updated posts from that point forward will be encrypted before they're sent to the server!

You can try it out here: https://journal.olafalo.net

pjournal screenshot

pjournal is made using dispatch, Parcel, Svelte, and Marked.js.

Deploying

Prerequisites:

  • An AWS account
  • Correctly configured awscli (or AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY set if running from GitLab CI)
  • jq installed
  • (Optional) Somewhere to host a static website (GitHub/GitLab pages, Netlify, etc)

Once everything is set up, just clone this repository, cd into it, and run:

./scripts/deploy.sh # Deploy the backend on AWS
./scripts/generate-config.sh # Generate website configuration from the deployed backend
cd web # Change to the frontend directory
npm install # Install dependencies
npm install --global parcel-bundler # Install the parcel CLI tool
parcel index.html # Run the site locally for testing

You can then view the website locally (on http://localhost:1234 by default). The website will automatically be configured to use the your backend stack on AWS, so you can register and start using it! To host the site somewhere, you'll just need to build the site with parcel and upload the resulting files to any kind of static site host.

pjournal's People

Contributors

olafal0 avatar dependabot[bot] avatar

Stargazers

 avatar Paul Shryock avatar David Wells avatar

Watchers

petrch avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.