X1 - A very simple web based note solution that's designed to serve as my second brain.

Related tags

Miscellaneous x1
Overview

X1

A very simple web based note solution that's designed to serve as my second brain.

X1 Screenshot

Starting Server

To start the tool simply clone the repo and then run PHP in server mode (for development and testing only) from the repo's root directory.

php -S 0:8001

Then open your web browser and point it to https://localhost:8001.

More Information

The back-end of this is currently a very poorly written PHP application. I wrote part of the application before I figured out how I wanted to organize it. Still, it's a really simple application and I plan to clean it up later. In the long term I'm thinking I may re-write it in GO once I get a feel for how it works for me. PHP is the language I use professionally and have for many years, so it currently serves as my hammer.

The front-end uses htmx (but there's also a little bit of old JS code in there too). Just like the back-end, I added a bit of code before I settled on htmx. This is also my first time using htmx.

X as in Experiments

Naming software experiments is a barrier to entry for me. Typically, I need to come up with a name before I can even create a project. Using numbers removes that burden and lets me start with a readme or a bit of code. This is the first of those numbered experiments.

Because their numbered, I can more easily decide on ports and domain names to run them on. For example, for development work, I'll run experiments on port 8000-8999. Since this is experiment number one, I'll run it on port 8001.

Running Automatically on Mac

I've created a com.joeldare.x1.plist file that starts the system automatically on localhost. I symlink this file from ~/Library/LaunchAgents and the Mac OS launchd system will launch it automatically and keep it running.

License

This software is experimental. Although I'm using it as-is, you might not want to. It's extremely early in it's life. I haven't spent enough time deciding how I might license the finished product. Although I'm making the source code public on github, all rights are reserved.

Comments
  • SQLite3 not found error

    SQLite3 not found error

    When running php -S localhost:8001 I'm getting the following error on Ubuntu 21.04 with PHP 8.0.8 and SQLite3 3.35.5

    [Tue Feb  1 08:05:39 2022] PHP 8.0.8 Development Server (http://localhost:8001) started
    [Tue Feb  1 08:05:45 2022] 127.0.0.1:45706 Accepted
    [Tue Feb  1 08:05:45 2022] 127.0.0.1:45708 Accepted
    [Tue Feb  1 08:05:45 2022] PHP Fatal error:  Uncaught Error: Class "SQLite3" not found in /home/chris/Code/nolific/PagesDb.php:4
    Stack trace:
    #0 /home/chris/Code/nolific/index.php(4): require()
    #1 {main}
      thrown in /home/chris/Code/nolific/PagesDb.php on line 4
    [Tue Feb  1 08:05:45 2022] 127.0.0.1:45706 [500]: GET / - Uncaught Error: Class "SQLite3" not found in /home/chris/Code/nolific/PagesDb.php:4
    Stack trace:
    #0 /home/chris/Code/nolific/index.php(4): require()
    #1 {main}
      thrown in /home/chris/Code/nolific/PagesDb.php on line 4
    [Tue Feb  1 08:05:45 2022] 127.0.0.1:45706 Closing
    

    SQLite3 version

    sqlite3 --version
    3.35.5 2021-04-19 18:32:05 1b256d97b553a9611efca188a3d995a2fff712759044ba480f9a0c9e98faalt1
    

    PHP version

    php --version
    PHP 8.0.8 (cli) (built: Oct 26 2021 11:42:42) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v4.0.8, Copyright (c) Zend Technologies
        with Zend OPcache v8.0.8, Copyright (c), by Zend Technologies
    
    opened by chris0030 6
  • Basic auth not working

    Basic auth not working

    Tried to open home page and popup is opening with username/password. Looking thru the code i see that you are loading users from users.ini file but that file is missing

    opened by zetiv 3
  • Feature request: ability to name pages

    Feature request: ability to name pages

    Just wanted to drop in and say thank you for putting this tool together. Its focus on simplicity is a nice angle on note taking tools which tend to get overly complex. I also like that I can get a predictable URL for each note.

    This is a feature request to have the ability to name notes. This would also change the URL too so it probably has to be a URL-safe name. Thanks!

    opened by mark-church 2
  • Update README

    Update README

    • In README i dont see that SQLite is required but I'm getting an error on home page PHP Fatal error: Uncaught Error: Class 'SQLite3' not found Installing apt-get install php7.4-sqlite3 fixes the problem

    • Username/PSW info is missing

    opened by zetiv 2
  • Improved Readme for Windows.

    Improved Readme for Windows.

    I'm trying to run this on windows.
    The readme had 2 little issues: First cloning from github with ssh doesn't work out of the box: image

    So I switched to a http clone.

    Then the ip 0 used to start the server is not a valid IP, which fail on start on windows.

    opened by Kuinox 1
Releases(v0.3.0)
  • v0.3.0(Mar 14, 2022)

    The first hosted release.

    What's Changed

    • Deploy first hosted version (https://app.nolific.com)
    • Update the design for mobile
    • Add automatic daily database backups
    • Add container configuration (use optional)
    • Update the data paths and optionally set with environment variables
    • Update the auth file path
    • Add util directory and user util
    • Add acknowledgments to the README
    • Various minor bug fixes
    Source code(tar.gz)
    Source code(zip)
Owner
Joel Dare
Director of Software Engineering @deseretdigital. Dad. Maker. Entrepreneur. #javascript #php #minimalist
Joel Dare
Calibre OPDS (and HTML) PHP Server : web-based light alternative to Calibre content server / Calibre2OPDS to serve ebooks (epub, mobi, pdf, ...)

COPS COPS stands for Calibre OPDS (and HTML) Php Server. See : COPS's home for more details. Don't forget to check the Wiki. Why ? In my opinion Calib

Sébastien Lucas 1.3k Jan 1, 2023
Second Stage XSS

SSX Second Stage XSS, This tool will help you to exploit XSS more deeply. Installation: Clone this project This app need permission to write on curren

Dimaz Arno 5 Jul 23, 2022
Sri Lanka Grade Exam Results Bot 📚 can collect Grade 5 O/L A/L Exam Results 📚 in Second Powerd By Sri lanka Department Of Examination 🚀

Sri-Lanka-Exam-Results-Telegram-Bot How to use the bot /start : Start Sri Lanka Grade 5 O/L A/L Exam Results Bot. /help : More information about Sri L

GD Hiruna 8 Oct 2, 2022
Compares two directories and removes the duplicate files from the second directory.

How does the HRZ Duplicate Refiner work? 1- Compares two directories : patternDir: the directory used as the pattern & does not change. victimDir: A d

Hamidreza Zolfaghar 2 May 6, 2022
This packages enables the ability to serve file streams in a smart way

A blade component for easy image manipulation Want to serve private hosted images without the need to code your own logic ? Want to resize your images

Dieter Coopman 205 Dec 19, 2022
Small Library to Serve Images in PHP in a Better Way (Resize, Compress) with Caching Support

A library for serving images and optimizing, changing their sizes, this library uses the caching feature, and in addition, it is very fast and small in size. In addition to these features, this library also optimizes images.

Developix 9 Oct 18, 2022
This project is very diverse and based upon many languages and libraries such as C++, Python, JavaScript, PHP and MQTT

ADMS-Real-time-project This project is very diverse and based upon many languages and libraries such as C++, Python, JavaScript, PHP and MQTT Advance_

Nitya parikh 1 Dec 1, 2021
Proxy based Redis cluster solution supporting pipeline and scaling dynamically

Codis is a proxy based high performance Redis cluster solution written in Go. It is production-ready and widely used at wandoujia.com and many compani

null 12.7k Jan 2, 2023
S11 Selection est une solution web PHP faite pour automatiser la création d'une grille d'évaluation d'un étudiant puis de les rassembler pour en faire un classement.

[S11] SELECTION BTS 0.1.0 FR Description S11 Selection est une solution web PHP faite pour automatiser la création d'une grille d'évaluation d'un étud

NOIZET Maxence 1 Oct 25, 2022
This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess maintenance.

Hostel-Maintenance-System Introduction This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess mainte

 Datta Sai Mallipeddi 1 Oct 23, 2021
PHP Web User Queue designed to run on shared hosting

WebUserQueue Introduction This is a web user queueing system written in PHP with a MySQL backend designed to run on shared hosting. It was designed to

Chris 0 Aug 13, 2022
Echo your public IP address with a very simple cURL request

Echo your public IP address with a very simple cURL request

Lucas Burlingham 13 Apr 10, 2022
A very simple way to handle self-hosted WordPress plugin updates

Simple WP Plugin Update handling A very simple way to handle self-hosted WordPress plugin updates This uses the "update_plugins_{$hostname}" filter in

Peter Viszt 5 Jun 13, 2023
Simple IT Documentation Solution for MSPs

SimpleMSPDoc RC 1.0 I wasn't happy with what other IT documention software had. I felt they over complicated things and required so much clicky clicky

null 4 Jun 5, 2022
Simple PHP/Laravel app that displays Todoist tasks in a view designed for a Kindle Touch

productivity-dashboard Just a simple PHP/Laravel app that retrieves (so far) tasks from Todoist and displays them in a simple view designed for a Kind

null 7 Dec 9, 2022
Simple PHP/Laravel app that displays Todoist tasks in a view designed for a Kindle Touch

productivity-dashboard Just a simple PHP/Laravel app that retrieves (so far) tasks from Todoist and displays them in a simple view designed for a Kind

null 3 Dec 27, 2021
Jump is yet another self-hosted startpage for your server designed to be simple, stylish, fast and secure.

Jump Jump is yet another self-hosted startpage for your server designed to be simple, stylish, fast and secure. Features Fast, easy to deploy, secure

Dale Davies 309 Dec 27, 2022
AI PHP is a wrapper for rubix ml to make AI very approachable

AI PHP Rubix Wrap A wrapper for Rubix ML to make it very approachable Example: $report = RubixService::train($data, 'column_with_label'); Where co

null 15 Nov 5, 2022
Very soykaf IB+BBS software. Work_In_Progress demo below.

ImoutoIB - Terrible imageboard software. But anon-san — if it's so terrible, Why should I use it? You probably shouldn't. It's not equipped to handle

ithrts 5 Jan 13, 2022