- PostgreSQL development database with exposed port `5432` so you can use any database client to acess it
- NGINX Proxy - `nginx/nginx.conf`
All the services are packaged to run as with single Docker Compose command.
After cloning the project, from the root directory run
```bash title="Start development server"
make dev # required Makefile installed on the system.
```
All the services will be started with hot-reloading enabled for a quick feedback loop.
### Mobile app
The mobile app `(/mobile)` will required Flutter toolchain to be installed on your system.
Please refer to the [Flutter's official documentation](https://flutter.dev/docs/get-started/install) for more information on setting up the toolchain on your machine.
## IDE setup
### Lint / format extensions
Setting these in the IDE give a better developer experience auto-formatting code on save and providing instant feedback on lint issues.
### VSCode
Install `Flutter`, `Prettier`, `ESLint` and `Svelte` extensions.
in User `settings.json` (`cmd + shift + p` and search for `Open User Settings JSON`) add the following:
OpenAPI is used to generate the client (Typescript, Dart) SDK. `openapi-generator-cli` can be installed [here](https://openapi-generator.tech/docs/installation/). When you add a new or modify an existing endpoint, you must run the command below to update the client SDK.
```bash
npm run api:generate # Run from the `server` directory
```
You can find the generated client SDK in the `web/src/api` for Typescript SDK and `mobile/openapi` for Dart SDK.
content:`⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a single source to store of your photos and videos!`,
content:`⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a <strong>single source</strong> to store of your photos and videos!`,
backgroundColor:"#593f00",
backgroundColor:"#593f00",
textColor:"#ffefc9",
textColor:"#ffefc9",
isCloseable:false,
isCloseable:false,
@ -80,7 +80,7 @@ const config = {
position:"right",
position:"right",
label:"Documentation",
label:"Documentation",
},
},
{to:"/blog",label:"Blog",position:"right"},
// { to: "/blog", label: "Blog", position: "right" },