mirror of
https://github.com/penpot/penpot.git
synced 2025-01-08 07:50:43 -05:00
🎉 Add docs directory structure.
This commit is contained in:
parent
183f0a5400
commit
b5c8afe69f
6 changed files with 152 additions and 4 deletions
|
@ -1,7 +1,9 @@
|
||||||
# Contributing Guide #
|
# Contributing Guide #
|
||||||
|
|
||||||
Thank you for your interest in contributing to UXBox. This guide details how
|
Thank you for your interest in contributing to UXBox. This is a
|
||||||
to contribute to UXBox in a way that is efficient for everyone.
|
generic guide that details how to contribute to UXBox in a way that is
|
||||||
|
efficient for everyone. If you want a specific documentation for
|
||||||
|
different parts of the platform, please refer to `docs/` directory.
|
||||||
|
|
||||||
|
|
||||||
## Reporting Bugs ##
|
## Reporting Bugs ##
|
||||||
|
@ -22,7 +24,7 @@ If you found a bug, please report it, as far as possible with:
|
||||||
|
|
||||||
If you want propose a change or bug fix with the Pull-Request system
|
If you want propose a change or bug fix with the Pull-Request system
|
||||||
firstly you should carefully read the **Contributor License Aggreement**
|
firstly you should carefully read the **Contributor License Aggreement**
|
||||||
section and format your commints accordingly.
|
section and format your commits accordingly.
|
||||||
|
|
||||||
If you intend to fix a bug it's fine to submit a pull request right
|
If you intend to fix a bug it's fine to submit a pull request right
|
||||||
away but we still recommend to file an issue detailing what you're
|
away but we still recommend to file an issue detailing what you're
|
||||||
|
|
|
@ -20,12 +20,14 @@ progress in Twitter or Github and stay tuned!
|
||||||
|
|
||||||
[See SVG specification](https://www.w3.org/Graphics/SVG/)
|
[See SVG specification](https://www.w3.org/Graphics/SVG/)
|
||||||
|
|
||||||
|
|
||||||
## SVG based ##
|
## SVG based ##
|
||||||
|
|
||||||
UXBOX works with SVG, a standard format, for all your designs and
|
UXBOX works with SVG, a standard format, for all your designs and
|
||||||
prototypes . This means that all your stuff in UXBOX is portable and
|
prototypes . This means that all your stuff in UXBOX is portable and
|
||||||
editable in many other vector tools and easy to use on the web.
|
editable in many other vector tools and easy to use on the web.
|
||||||
|
|
||||||
|
|
||||||
## Development ##
|
## Development ##
|
||||||
|
|
||||||
### Introduction ###
|
### Introduction ###
|
||||||
|
@ -49,7 +51,6 @@ In debian like linux distributions you can install it executing:
|
||||||
sudo apt-get install docker docker-compose
|
sudo apt-get install docker docker-compose
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Start the devenv ###
|
### Start the devenv ###
|
||||||
|
|
||||||
**Requires a minimum knowledge of tmux usage in order to use that
|
**Requires a minimum knowledge of tmux usage in order to use that
|
||||||
|
|
98
docs/01-Development-Environment.md
Normal file
98
docs/01-Development-Environment.md
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
# Developer Guide #
|
||||||
|
|
||||||
|
This is a generic "getting started" guide for the uxbox platform. It
|
||||||
|
intends to explain how to get the development environment up and
|
||||||
|
running with many additional tips.
|
||||||
|
|
||||||
|
The main development environment consists in a docker compose
|
||||||
|
configuration that starts the external services and the development
|
||||||
|
container (called **devenv**).
|
||||||
|
|
||||||
|
We use tmux script in order to multiplex the signle terminal and run
|
||||||
|
both the backend and frontend in the same container.
|
||||||
|
|
||||||
|
|
||||||
|
## System requirements ##
|
||||||
|
|
||||||
|
You should have `docker` and `docker-compose` installed in your system
|
||||||
|
in order to set up properly the development enviroment.
|
||||||
|
|
||||||
|
In debian like linux distributions you can install it executing:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get install docker docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
## Start the devenv ##
|
||||||
|
|
||||||
|
**Requires a minimum knowledge of tmux usage in order to use that
|
||||||
|
development environment.**
|
||||||
|
|
||||||
|
For start it, staying in this repository, execute:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./manage.sh run-devenv
|
||||||
|
```
|
||||||
|
|
||||||
|
This will do the following:
|
||||||
|
|
||||||
|
- Build the images if it is not done before.
|
||||||
|
- Starts all the containers in the background.
|
||||||
|
- Attaches to the **devenv** container and executes the tmux session.
|
||||||
|
- The tmux session automatically starts all the necessary services.
|
||||||
|
|
||||||
|
|
||||||
|
## First steps with tmux ##
|
||||||
|
|
||||||
|
Now having the the container running and tmux open inside the
|
||||||
|
container, you are free to execute any commands and open many shells
|
||||||
|
as you want.
|
||||||
|
|
||||||
|
You can create a new shell just pressing the **Ctr+b c** shortcut. And
|
||||||
|
**Ctrl+b w** for switch between windows, **Ctrl+b &** for kill the
|
||||||
|
current window.
|
||||||
|
|
||||||
|
For more info: https://tmuxcheatsheet.com/
|
||||||
|
|
||||||
|
|
||||||
|
## Inside the tmux session ##
|
||||||
|
|
||||||
|
### Styles ###
|
||||||
|
|
||||||
|
The styles and many related tasks are executed thanks to gulp and they are
|
||||||
|
executed in the tmux **window 0**. This is a normal gulp watcher with some
|
||||||
|
additional tasks.
|
||||||
|
|
||||||
|
|
||||||
|
### Frontend ###
|
||||||
|
|
||||||
|
The frontend build process and the http server is located on the tmux
|
||||||
|
**window 1**. **Figwheel** is used for build and serve the forntend
|
||||||
|
code. For more information, please refer to `02-Frotend-Guide.md`.
|
||||||
|
|
||||||
|
|
||||||
|
### Backend ###
|
||||||
|
|
||||||
|
The backend related environment is located in the tmux **window 2**,
|
||||||
|
and you can go directly to it using `ctrl+b 2` shortcut.
|
||||||
|
|
||||||
|
By default the backend will be started in non-interactive mode for
|
||||||
|
convenience but you can just press `Ctrl+c` and execute `clojure
|
||||||
|
-J-XX:-OmitStackTraceInFastThrow -Adev:repl` for start the repl.
|
||||||
|
|
||||||
|
|
||||||
|
On the REPL you have this helper functions:
|
||||||
|
- `(start)`: start all the environment
|
||||||
|
- `(stop)`: stops the environment
|
||||||
|
- `(restart)`: stops, reload and start again.
|
||||||
|
|
||||||
|
If some exception is raised when code is reloaded, just use
|
||||||
|
`(repl/refresh-all)` in order to finish correctly the code swaping and
|
||||||
|
later use `(restart)` again.
|
||||||
|
|
||||||
|
|
||||||
|
If this is your first run, you maybe want to load fixtures first:
|
||||||
|
`(load-fixtures)`.
|
||||||
|
|
||||||
|
For more information, please refer to: `03-Backend-Guide.md`.
|
||||||
|
|
4
docs/02-Frontend-Guide.md
Normal file
4
docs/02-Frontend-Guide.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Frontend Guide #
|
||||||
|
|
||||||
|
This guide intends to explain the essential details of the frontend
|
||||||
|
application.
|
4
docs/03-Backend-Guide.md
Normal file
4
docs/03-Backend-Guide.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Backend Guide #
|
||||||
|
|
||||||
|
This guide intends to explain the essential details of the backend
|
||||||
|
application.
|
39
docs/04-Deployment-Guide.md
Normal file
39
docs/04-Deployment-Guide.md
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
# Deployment Guide #
|
||||||
|
|
||||||
|
This document don't intend to be a complete guide of deployment. It
|
||||||
|
will only contain the essential tips for doing it and show an example
|
||||||
|
on how we are deploying it using docker and docker-compose.
|
||||||
|
|
||||||
|
|
||||||
|
## Docker Images ##
|
||||||
|
|
||||||
|
For build the production images, you need to execute the following
|
||||||
|
command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./manage.sh build-images`
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will build the following images:
|
||||||
|
|
||||||
|
- `uxbox-frontend:latest`
|
||||||
|
- `uxbox-frontend-dbg:latest` (with debug ready frontend build)
|
||||||
|
- `uxbox-backend:latest`
|
||||||
|
|
||||||
|
|
||||||
|
Complementary to the docker images you can build locally from this
|
||||||
|
repository, you can find additionnal flavors for backend and frontend
|
||||||
|
on external repositories:
|
||||||
|
* [Monogramm/docker-uxbox-frontend](https://github.com/Monogramm/docker-uxbox-frontend)
|
||||||
|
* [Monogramm/docker-uxbox-backend](https://github.com/Monogramm/docker-uxbox-backend)
|
||||||
|
|
||||||
|
|
||||||
|
## Docker Compose ##
|
||||||
|
|
||||||
|
Look at `docker/docker-compose.yml` for a complete example.
|
||||||
|
|
||||||
|
|
||||||
|
## SSL/TLS ##
|
||||||
|
|
||||||
|
The default images does not handles anything realted to ssl. They are
|
||||||
|
intended to be deployed behind a proxy (nginx,haproxy,...).
|
Loading…
Reference in a new issue