Conflux is a personal writing/documenting tool, inspired by Atlassian's Confluence. It is a full-stack application using Quasar Framework (Vue.js) for the client and Node.js/Express.js for the server. Both the client and server are built to run in Google Firebase.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
- Table of Contents
- About The Project
- Getting Started
- Basic Usage
- Roadmap
- Contributing
- License
- Contact
Conflux is a work in progress. The purpose for starting this project was the desire for a better writing tool at a low/no cost.
What you will need to get started:
-
Quasar Framework
npm i -g @quasar/cli
-
Firebase account
- Create a new project
- Install tools
npm i -g firebase-tools
-
Algolia account
- Create a new app
- Create a new index
-
Clone the repo
git clone https://github.com/34fame/conflux
-
Install packages
cd conflux yarn cd client yarn cd .. cd server/functions yarn cd ../..
-
Copy the environment variables template file and update with your Firebase and Algolia information
cd client cp .quasar.env_template.json .quasar.env.json
-
Initialize the client for Firebase
cd conflux/client firebase init # Select the Hosting service
-
Initialize the server for Firebase
cd conflux/server firebase init # Do NOT let the process overwrite `index.js`.
-
Export service account from Firebase as
conflux/server/functions/services/firebase/service-account.json
There are several scripts available in the project, client and server package.json files to assist with starting up Conflux for different scenarios. The easiest is to run everything locally using Firebase emulators.
# From the project root directory
yarn serve:local
If this loads successfully, you should see Conflux open in your browser at http://localhost:8080. You can open the Firebase emulator dashboard at http://localhost:4000. This will give you visibility of the Firest and Cloud Function services now running on your machine.
WARNING: Running locally with emulators means no data will be saved. You will have to deploy your client and server to Firebase and run against that environment for data to remain.
-
Conflux is a personal documentation workspace. Individuals register with minimal information and authenticate with email and password.
-
Authenticated users can then manage their own books. Inside books are chapters and inside chapters are pages.
-
Page content uses markdown syntax with an embedded editor with VSCode basic capabilities (e.g. search and replace).
-
The Mermaid.js plugin is available to building graphical diagrams in markdown syntax.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Utilize Conventional Commits when creating commit messages.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'feat: Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Troy Moreland - Graypes#3890 - Discord
Project Link: https://github.com/34fame/conflux