git clone https://github.com/ManfredMT/nextjs-blog-react-admin.git
cd nextjs-blog-react-admin/admin-blog
npm install
cd ../backend
npm install
cd ../nextjs-blog
npm install
Nightly version is the automatic compile version, that
means, every commit code will be automatically compiled.
The reliability and stability of the data are not guaranteed, you can
deploy with stable version with docker images or github release page
Motivation
At
present, the existing IM applications only focus on chatting itself,
and IM is naturally a multi-person collaboration method. In my opinion,
it should be able to take on more responsibilities, and form its own
unique way of forwarding external applications through IM workflow.
Therefore, I bring up the point of noIM, which means Not only IM.
Instead, it designed a highly customized application platform for
individuals/teams centered on IM, with third-party applications as
enhanced functions, and a plugin system as the glue connection layer in
the middle.
To this end, the functions were abstracted, and a lot of
time was spent designing the underlying mechanism. An instant messaging
application such as Tailchat was born for expansion from the beginning of the underlying design. Through Tailchat's plugin system, developers can easily use their favorite applications as part of Tailchat in a very natural way. Different from traditional integration methods such as Slack, the integration of Tailchat is more free, as if it is a native function.
Feature
Pay attention to privacy, only invited members can join the group
Prevent strangers, add friends only by nickname + a random string of numbers
Two-level group space, dividing different topics by panels
Highly customized group space, create original group space by
grouping with dragging and dropping. At the same time, more plugins can
be used to add more capabilities
It can be rigorous or fun. Through the combination of plugins, Tailchat can be created for different scenarios. It can be for individuals or for enterprises
The backend microservice structure is ready for large-scale
deployment. Don't worry about what to do after the number of user growth
Tailchat is a modern open source IM application which based on React + Typescript
Front-end microkernel architecture + backend microservice architecture, Tailchat is ready for clustering deployment.
The front end empowers the application through the plugin
system, which is very simple and easy to expand for the secondary
development of Tailchat.
NOTICE: Although the core functionality of
Tailchat is currently in a stable stage, its exposed interface for
third-party developers is still being improved. Generally speaking, it
is backward compatible, but retains the possibility of Break Change
The
content of this chapter requires you to have a certain degree of
understanding of nodejs, git, linux. When there are problems such as
dependency problems, environmental problems, system problems, etc., you
need to have the ability to solve and troubleshoot problems by yourself.
If
you do not understand this, it is not recommended that you use the
contents of this chapter for deployment. It is recommended to use a
unified image for deployment.
Because
the cloned code is the latest code, it may be unstable for a short
period of time, so if you want to switch to the stable code of each
version, you can use the tag function of git
For example, if you wanna use v1.7.6, you can use the command:
git checkout v1.7.6
Compile the project
Tailchat
is a front-end and back-end separated project. So we have to deal with
the front-end code and the back-end code separately
Install dependencies
We assume you have installed nodejs v16.18.0+ or above. And installed pnpm v8.3.1 or above
cd tailchat pnpminstall
This
command will take some time to install all the dependencies of
Tailchat. When the installation is complete, the internal plug-in will
automatically execute the compilation command.
Building the project
NODE_ENV=production pnpm build
This
command will execute the commands for compiling the front-end and
back-end management terminals in parallel. And move the front-end
product to the server/dist/public directory of the server.
When the project is built, our product can run normally.
caution:
Please build in macos / linux environment as much as possible, window does not necessarily fully support shell commands.
Run the project
In order to ensure the horizontal expansion of the project, although the core code of Tailchat
is written in the same project, it can be divided into multiple
subdivided microservices when it is actually started. Selectively enable
different services by passing in a combination of different environment
variables.
Create an environment variable file in the server directory using the .env.example directory as an example:
cp server/.env.example server/dist/.env vim .env
Modify the necessary environment variables to your own, such as MONGO_URL, REDIS_URL, MINIO_URL
then start the service
SERVICEDIR=services,plugins pnpm start:service
SERVICEDIR indicates the directory where the microservice is loaded.
from https://tailchat.msgbyte.com/docs/deployment/other-way/manual
DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data. It supports all popular SQL databases like MySQL, MariaDB, PostgreSQL, SQLite, Apache Family, and more.
DBeaver Community 是一个 免费 的跨平台 数据库 工具,适用于开发人员、数据库管理员、分析师和所有使用数据的人。它支持所有流行的 SQL 数据库,如 MySQL , MariaDB, PostgreSQL , SQLite , Apache Family 等。dbeaver 它具有如下功能特性:
A web app for writing and running SQL queries and
visualizing the results. Supports Postgres, MySQL, SQL Server,
ClickHouse, Crate, Vertica, Trino, Presto, SAP HANA, Cassandra,
Snowflake, Google BigQuery, SQLite, TiDB and many more via ODBC.
Project Status
SQLPad is a legacy project in maintenance mode. If evaluating SQLPad, please consider a potential alternative or forking the project and making it your own.
Maintenance releases for security and dependency updates will continue as possible.
As of version 7, semver is no longer followed. Going forward patch updates may require major Node.js version updates, or contain removal of functionality.
Some dependencies may require compilation. On macOS, the Xcode Command Line Tools should be installed. On Ubuntu, apt-get install build-essential
will install the required packages. Similar commands should work on
other Linux distros. Windows will require some additional steps, see the
node-gyp installation instructions for details.
Style Guide
SQLPad uses an automatic code formatter called Prettier and a linting tool called ESLint.
Run yarn run lint after making any changes to code to check formatting and lint. Some formatting and lint may be fixed automatically by running yarn run fixlint.
If using Visual Studio Code, Prettier and ESLint
extensions can be installed to assist in detecting and fixing issues
during development.
Getting Started
Clone/download this repo
Install dependencies and build the UI
scripts/build.sh
The gist of this script is:
# install root level dependencies using package-lock.json as reference
yarn
# install front-end dependencies using package-lock.jsoncd client
yarn
# build front-end
yarn build
# install back-end dependenciescd ../server
yarn
cd ..
# copy client build to server directory
mkdir server/public
cp -r client/build/* server/public
At this point you can run the SQLPad server with the front-end built for production use:
cd server
node server.js --config ./config.dev.env
If preferred, SQLPad can be installed as a
global module using the local files in this repo. This allows running
SQLPad via the cli in any directory, just as if you had installed it
with npm install sqlpad -g. Note that you must build and copy the client prior to this step.
cd server
npm install -g
# Now from somewhere else you can run sqlpad likecd~
sqlpad --config ./config.dev.env
If sqlpad was installed globally via npm from npm, you may need to run npm uninstall sqlpad -g.
A docker image may be built using the Dockerfile located in server directory. See docker-publish.sh for example docker build command.
Developing
Open 2 terminal sessions in the root of this repo.
In one session run the back end in development mode
cd server
yarn start
In the other start the development server for the front end.
cd client
yarn start
At this point you should have both back end and front end development servers running.
When viewing the front end in development mode, the page
will automatically refresh on client file changes. The back end server
will auto-restart on back end file changes as well.
When viewing SQLPad in dev-mode in port 3000, some
features may not work correctly (like csv/xlsx downloads, google auth).
This is likely due to the port difference in configuration (google auth
can only redirect to 1 url/port) or the dev-mode proxy setup (React dev
mode is served by a secondary web server that will proxy requests it
doesn't understand to the SQLPad server running on 3010 during
development.)
ESLint and Prettier are used to enforce code patterns and
formatting in this project. A precommit hook should enforce and warn
about these checks. If that is not set up however you may find these
terminal commands useful.
# To check lint
yarn run lint
# To fix (some) errors and formatting automatically
yarn run fixlint
Developing on Windows
To run build/scripts.sh on Windows, you may want to use an application like cmder. It will allow you to run scripts/build.sh by calling sh directly with sh scripts/build.sh.
Test/Dev Database Connection
A Node.js script, server/generate-test-db-fixture.js,
can be used to generate a test sqlite database to be used for tests and
local development. This replaces the previous mock driver
implementation that was enabled when the debug flag was turned on.
This test database allows for running SQL you likely know,
instead of having to remember and use some variables set in SQL
comments.
The script adds a sqlite database under server/test/fixtures/sales.sqlite.
It can be used within SQLPad by creating a connection using the SQLite driver, and setting the filename to ./test/fixtures/sales.sqlite.
The data in the database is somewhat nonsensical. It is
also not randomized so that the results can be predictable. If you'd
like to expand on this database, feel free.
Running Tests
SQLPad's test cases focus on the API server, with majority
of tests being integration tests, with some unit tests sprinkled
throughout.
Tests are located under server/test directory, and use mocha as a test runner. Tests may be run by running yarn test
within the server directory. For tests to run successfully,
dependencies must be installed and the test database fixture generated.
cd server
# if dependencies have not yet been installed (build.sh will do this)
yarn
# If test fixture has not yet been generated (build.sh will do this)
node generate-test-db-fixture.js
# Start backend services if desired. (-d runs in background)
docker-compose up -d redis
docker-compose up -d ldap
# Run tests
yarn test# If you are aiming to run a specific test case,# you may do so using npx to call mocha,# specifying the path to the test file and --exit to exit after tests have run
npx mocha test/path/to/file.js --exit
from https://github.com/sqlpad/sqlpad/blob/master/DEVELOPER-GUIDE.md)
(Getting Started
Running SQLPad
Building from source
SQLPad does not require any additional servers other than its own
self. By default it uses SQLite and the file system for storing queries,
query results, and web sessions. SQLite may be replaced with an
external database. See backend database configuration for more info.
gh-ost是一款支持在线更改 MySQL 表结构的开源工具,遵守MIT开源协议。gh-ost无触发器,可监控,可动态调整暂停,实现新旧表切换的(cut-over)顺畅。 三种工作模式:1:连接到从库,在主库做迁移。2:连接到主库,迁移过程所有操作都在主上操作,包括读取binlog等等。3:在从库做迁移测试。
VS Code已经有一个SQL扩展(vscode-mssql),但微软的SQL Server Management Studio只能运行在Windows上。SQL Operation Studio 能够和 VS Code 深度集成,运行在不同操作系统上。重要特性包括:T-SQL编辑器,支持自动完成和错误检查,可将结果导出到CSV或Excel,还支持直接手动插入、修改、删除表记录。SqlOps还集成了一个对象浏览器,开发者可以通过它查看SQL Server和表信息、视图、存储过程等 。
Presto is a distributed SQL query engine for big data.
See the User Manual for deployment instructions and end user documentation.
Requirements
Mac OS X or Linux
Java 8 Update 151 or higher (8u151+), 64-bit. Both Oracle JDK and OpenJDK are supported.
Maven 3.3.9+ (for building)
Python 2.4+ (for running with the launcher script)
Building Presto
Presto is a standard Maven project. Simply run the following command from the project root directory:
./mvnw clean install
On the first build, Maven will download all the dependencies from the internet and cache them in the local repository (~/.m2/repository), which can take a considerable amount of time. Subsequent builds will be faster.
Presto has a comprehensive set of unit tests that can take several minutes to run. You can disable the tests when building:
After building Presto for the first time, you can load the project into your IDE and run the server. We recommend using IntelliJ IDEA. Because Presto is a standard Maven project, you can import it into your IDE using the root pom.xml file. In IntelliJ, choose Open Project from the Quick Start box or choose Open from the File menu and select the root pom.xml file.
After opening the project in IntelliJ, double check that the Java SDK is properly configured for the project:
Open the File menu and select Project Structure
In the SDKs section, ensure that a 1.8 JDK is selected (create one if none exist)
In the Project section, ensure the Project language level is set to 8.0 as Presto makes use of several Java 8 language features
Presto comes with sample configuration that should work
out-of-the-box for development. Use the following options to create a
run configuration:
Main Class: com.facebook.presto.server.PrestoServer
VM Options: -ea -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -Xmx2G -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties
Working directory: $MODULE_WORKING_DIR$ or $MODULE_DIR$(Depends your version of IntelliJ)
Use classpath of module: presto-main
The working directory should be the presto-main subdirectory. In IntelliJ, using $MODULE_DIR$ accomplishes this automatically.
Additionally, the Hive plugin must be configured with
location of your Hive metastore Thrift service. Add the following to the
list of VM options, replacing localhost:9083 with the correct host and port (or use the below value if you do not have a Hive metastore):
Please don't feed the trolls and spammers that are mentioned in the FAQ :)
About WeKan ®
WeKan ® is an completely Open Source and Free software
collaborative kanban board application with MIT license.
Whether you’re maintaining a personal todo list, planning your holidays with some friends,
or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool
to keep your things organized. They give you a visual overview of the current state of your project,
and make you productive by allowing you to focus on the few items that matter the most.
Since WeKan ® is a free software, you don’t have to trust us with your data and can
install Wekan on your own computer or server. In fact we encourage you to do
that by providing one-click installation on various platforms.
1 GB RAM minimum free for WeKan ®. Production server should have minimum total 4 GB RAM.
For thousands of users, for example with Docker: 3 frontend servers,
each having 2 CPU and 2 wekan-app containers. One backend wekan-db server with many CPUs.
Enough disk space and alerts about low disk space. If you run out disk space, MongoDB database gets corrupted.
SECURITY: Updating to newest WeKan ® version very often. Please
check you do not have automatic updates of Sandstorm or Snap turned off.
Old versions have security issues because of old versions Node.js etc.
Only newest WeKan ® is supported.
WeKan ® on Sandstorm is not usually affected by any Standalone WeKan ®
(Snap/Docker/Source) security issues.
Backups of WeKan ® database once a day miminum.
Bugs, updates, users deleting list or card, harddrive full, harddrive crash etc can eat your data. There is no undo yet.
Some bug can cause WeKan ® board to not load at all, requiring manual fixing of database content.