- Authentication (JWT)
- Folders
- Bookmarks
- Rich text editor
- Code highlighting
- Autosaving
- Mobile-friendly UI
- Node.js (minimum supported version is 18.12.0)
- NPM (minimum supported version is 8.19.2)
- PostgreSQL
- This app uses dotenv-defaults for loading environment variables.
- Available variables can be found in the "/.env.defaults" file.
- Values can be specified by creating the "/.env" file.
npm install / yarn Install NPM dependencies.
-
npm run dev:client / npm run dev Run client-side app by "webpack-dev-server" with HMR (by default available at localhost:3000).
-
npm run dev:server Run server-side app by "nodemon-webpack-plugin" with "watch" flag (by default available at localhost:3001).
-
npm run build:client Build client to "/dist/client/" folder.
-
npm run build:server Build server to "/dist/server.js" file.
-
npm start Start "/dist/server.js" and host static files from "/dist/client/" folder.
-
npm run prod Sequentially run the build client, build:server and start commands.
-
npm run typeorm:cli - Helper command for using the TypeORM CLI.
-
npm run typeorm:cli:ds - Helper command for using the TypeORM datasource.
-
npm run migr:gen Generate migration files with the changes to synchronize the database schema with the current enitites.
-
npm run migr:gen:initial Helper command with predefined generation of "create-initial-tables" migration.
-
npm run migr:create Generate a migration file that contains the current timestamp when the migration was generated. Used for manual migration writing.
-
npm run migr:show Show all migrations and whether they've been run or not.
-
npm run migr:run Execute all pending migrations.
-
npm run migr:revert Revert the most recently executed migrations.
-
npm run schema:log Show SQL queries that need to be applied to synchronize the database schema with the current entities.
-
npm run schema:drop Completely drop a database schema.
-
npm run lint Check for ESLint errors.
-
npm run lint:fix Fix ESLint errors.
-
npm run ts:check Check for TypeScript errors.
-
npm run analyze:client Run "webpack-bundle-analyzer": HTTP server to show client-side bundle report with visualized size of webpack output files.
-
npm run analyze:server Run "webpack-bundle-analyzer": HTTP server to show server-side bundle report with visualized size of webpack output files.