To setup the repository locally follow the steps mentioned below:
-
Install bench and set up a
frappe-bench
directory by following the installation steps. -
Move into your
frappe-bench
directory and get the FlashDesk appbench get-app https://github.com/arunmathaisk/flashdesk
-
Create a new site
bench new-site flashdesk.site
-
Map your site to localhost
bench --site flashdesk.site add-to-hosts
-
Install the app onto your site
bench --site flashdesk.site install-app flashdesk
-
Start the bench server
bench start
-
Start the frontend development server
cd apps/flashdesk && yarn dev
-
Finally, open the URL http://flashdesk.site:8000/frontend in your browser to see the app running.
This guide provides step-by-step instructions to install the project using Docker via VSCode Remote Containers extension.
Before you begin, make sure you have the following prerequisites installed on your system:
- Docker
- Docker Compose
- User added to docker group
sudo usermod -aG docker $USER
- VSCode Remote - Containers extension
git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
Note:
Feel free to expore the files within devcontainer-example and make changes to the same, be that exposing DB ports or mount desired additonal volumes.
cp -R devcontainer-example .devcontainer
Step 3: Copy example vscode config for devcontainer from development/vscode-example to development/.vscode.
This will setup basic configuration for debugging.
cp -R development/vscode-example development/.vscode
code .
Note:
The development directory is ignored by git. It is mounted and available inside the container. Create all your benches (installations of bench, the tool that manages frappe) inside this directory.
Run the following commands in the terminal inside the container. You might need to create a new terminal in VSCode.
# Use default environments
bench init --skip-redis-config-generation --frappe-branch version-14 frappe-bench
# Or set environment versions explicitly
nvm use v16
PYENV_VERSION=3.10.5 bench init --skip-redis-config-generation --frappe-branch version-14 frappe-bench
cd frappe-bench
We need to tell bench to use the right containers instead of localhost. Run the following commands inside the container:
bench set-config -g db_host mariadb
bench set-config -g redis_cache redis://redis-cache:6379
bench set-config -g redis_queue redis://redis-queue:6379
bench set-config -g redis_socketio redis://redis-socketio:6379
For any reason the above commands fail, set the values in common_site_config.json
manually.
{
"db_host": "mariadb",
"redis_cache": "redis://redis-cache:6379",
"redis_queue": "redis://redis-queue:6379",
"redis_socketio": "redis://redis-socketio:6379"
}
Note: Sitename must end with .localhost for trying deployments locally.
for example:
bench new-site flashdesk.localhost --no-mariadb-socket
The same command can be run non-interactively as well:
bench new-site flashdesk.localhost --mariadb-root-password 123 --admin-password admin --no-mariadb-socket
bench --site flashdesk.localhost set-config developer_mode 1
bench --site flashdesk.localhost clear-cache
bench use flashdesk.localhost
bench get-app https://github.com/arunmathaisk/flashdesk
bench --site flashdesk.localhost install-app flashdesk
Execute following command from the frappe-bench
directory.
bench start
You are all set now :)
cd apps/flashdesk && yarn dev
Finally, open the URL http://flashdesk.localhost:8000/frontend in your browser to see the app running.
There are many ways you can contribute even if you don't code:
- You can start by giving a star to this repository!
- If you find any issues, even if it is a typo, you can raise an issue to inform us.
If you want to contribute code then you can fork this repo, make changes and raise a PR. (see how to)
GNU Affero General Public License v3.0
FlashDesk is currently marked as noob-phase expect breaking changes between versions.