diff --git a/packages/backend/.env-example b/packages/backend/.env-example index c262293d..e86e6ebf 100644 --- a/packages/backend/.env-example +++ b/packages/backend/.env-example @@ -1,7 +1,7 @@ HOST=localhost PROTOCOL=http PORT=3000 -WEB_APP_URL=https://localhost:3001 +WEB_APP_URL=http://localhost:3001 APP_ENV=development POSTGRES_DATABASE=automatisch_development POSTGRES_PORT=5432 @@ -14,3 +14,4 @@ APP_SECRET_KEY=sample-app-secret-key REDIS_PORT=6379 REDIS_HOST=127.0.0.1 ENABLE_BULLMQ_DASHBOARD=false +SERVE_WEB_APP_SEPARATELY=true diff --git a/packages/docs/pages/.vitepress/config.js b/packages/docs/pages/.vitepress/config.js index 75d0a509..a7394c61 100644 --- a/packages/docs/pages/.vitepress/config.js +++ b/packages/docs/pages/.vitepress/config.js @@ -15,6 +15,7 @@ export default defineConfig({ description: 'Build workflow automation without spending time and money. No code is required.', cleanUrls: 'with-subfolders', + ignoreDeadLinks: true, themeConfig: { siteTitle: 'Automatisch', nav: [ @@ -142,6 +143,24 @@ export default defineConfig({ { text: 'Telemetry', link: '/advanced/telemetry' }, ], }, + { + text: 'Contributing', + collapsible: true, + items: [ + { + text: 'Contribution guide', + link: '/contributing/contribution-guide', + }, + { + text: 'Development setup', + link: '/contributing/development-setup', + }, + { + text: 'Repository structure', + link: '/contributing/repository-structure', + }, + ], + }, { text: 'Other', collapsible: true, diff --git a/packages/docs/pages/contributing/contribution-guide.md b/packages/docs/pages/contributing/contribution-guide.md new file mode 100644 index 00000000..dd840986 --- /dev/null +++ b/packages/docs/pages/contributing/contribution-guide.md @@ -0,0 +1,25 @@ +# Contribution Guide + +We are happy that you want to contribute to Automatisch. We will assist you in the contribution process. This guide will help you to get started. + +## We develop with GitHub + +We use GitHub to host code, track issues, and feature requests, as well as accept pull requests. You can follow those steps to contribute to the project: + +1. Fork the repository and create your branch from the `main`. +2. Create your feature branch (`git checkout -b feature/feature-description`) +3. If you've added code that should be documented, update the documentation. +4. Make sure to use the linter by running `yarn lint` command in the project root folder. +5. Create a pull request! + +## Use conventional commit messages + +We use [conventional commit messages](https://www.conventionalcommits.org) to generate changelogs and release notes. Therefore, please follow the guidelines when writing commit messages. + +## Report bugs using GitHub issues + +We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/automatisch/automatisch/issues/new). + +## License + +By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license. diff --git a/packages/docs/pages/contributing/development-setup.md b/packages/docs/pages/contributing/development-setup.md new file mode 100644 index 00000000..6f677793 --- /dev/null +++ b/packages/docs/pages/contributing/development-setup.md @@ -0,0 +1,76 @@ +# Development Setup + +Clone main branch of Automatisch. + +```bash +git clone git@github.com:automatisch/automatisch.git +``` + +Then, install the dependencies. + +```bash +cd automatisch +yarn install +``` + +## Backend + +Make sure that you have **PostgreSQL** and **Redis** installed and running. + +Create a `.env` file in the backend package: + +```bash +cd packages/backend +cp .env-example .env +``` + +Create the development database in the backend folder. + +```bash +yarn db:create +``` + +Run the database migrations in the backend folder. + +```bash +yarn db:migrate +``` + +Create a seed user with `user@automatisch.io` email and `sample` password. + +```bash +yarn db:seed:user +``` + +Start the main backend server. + +```bash +yarn dev +``` + +Start the worker server in another terminal tab. + +```bash +yarn worker +``` + +## Frontend + +Create a `.env` file in the web package: + +```bash +cd packages/web +cp .env-example .env +``` + +Start the frontend server in another terminal tab. +Open [http://localhost:3001](http://localhost:3001) with your browser to see the result. Then, use the `user@automatisch.io` email address and `sample` password to login. + +## Docs server + +```bash +cd packages/docs +yarn dev +``` + +You can check the docs server via [http://localhost:3002](http://localhost:3002). diff --git a/packages/docs/pages/contributing/repository-structure.md b/packages/docs/pages/contributing/repository-structure.md new file mode 100644 index 00000000..23533cca --- /dev/null +++ b/packages/docs/pages/contributing/repository-structure.md @@ -0,0 +1,21 @@ +# Repository Structure + +We use `lerna` with `yarn workspaces` to manage the mono repository. We have the following packages: + +``` +. +├── packages +│   ├── backend +│   ├── cli +│   ├── docs +│   ├── e2e-tests +│   ├── types +│   └── web +``` + +- `backend` - The backend package contains the backend application and all integrations. +- `cli` - The cli package contains the CLI application of Automatisch. +- `docs` - The docs package contains the documentation website. +- `e2e-tests` - The e2e-tests package contains the end-to-end tests for the internal usage. +- `types` - The types package contains the shared types for both the backend and web packages. +- `web` - The web package contains the frontend application of Automatisch. diff --git a/packages/web/.env-example b/packages/web/.env-example index daaaf507..003236c0 100644 --- a/packages/web/.env-example +++ b/packages/web/.env-example @@ -1,3 +1,5 @@ PORT=3001 REACT_APP_GRAPHQL_URL=http://localhost:3000/graphql -HTTPS=true \ No newline at end of file +# HTTPS=true +REACT_APP_BASE_URL=http://localhost:3001 +REACT_APP_NOTIFICATIONS_URL=https://notifications.automatisch.io