0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-06 14:50:20 -05:00

🎉 Add docs directory structure.

This commit is contained in:
Andrey Antukh 2019-12-09 16:28:15 +01:00
parent 183f0a5400
commit b5c8afe69f
6 changed files with 152 additions and 4 deletions

View file

@ -1,7 +1,9 @@
# Contributing Guide #
Thank you for your interest in contributing to UXBox. This guide details how
to contribute to UXBox in a way that is efficient for everyone.
Thank you for your interest in contributing to UXBox. This is a
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 ##
@ -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
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
away but we still recommend to file an issue detailing what you're

View file

@ -20,12 +20,14 @@ progress in Twitter or Github and stay tuned!
[See SVG specification](https://www.w3.org/Graphics/SVG/)
## SVG based ##
UXBOX works with SVG, a standard format, for all your designs 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.
## Development ##
### Introduction ###
@ -49,7 +51,6 @@ In debian like linux distributions you can install it executing:
sudo apt-get install docker docker-compose
```
### Start the devenv ###
**Requires a minimum knowledge of tmux usage in order to use that

View 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`.

View 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
View file

@ -0,0 +1,4 @@
# Backend Guide #
This guide intends to explain the essential details of the backend
application.

View 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,...).