An open API service indexing awesome lists of open source software.

https://github.com/delsner/python-flask-angular-starter

Starter project for python flask REST API with Angular 4 and MongoDB. Using Docker, docker-compose and NGINX for development and production.
https://github.com/delsner/python-flask-angular-starter

angular4 docker flask mongodb nginx python

Last synced: 7 days ago
JSON representation

Starter project for python flask REST API with Angular 4 and MongoDB. Using Docker, docker-compose and NGINX for development and production.

Awesome Lists containing this project

README

        

# Webapp Starter with Flask REST API Backend and MongoDB

NOTE: There could occur problems running this on windows.

## Development web backend/frontend

If desired, you can add a custom host in your hosts file (e.g. `127.0.0.1 db`).
Thus, the server config won't need any more configuration for production.

### Docker development

I recommend using docker because it's just one command and everything is up and running:

Run `docker-compose -f docker-compose.dev.yml up`.

This will fire up a mongodb, backend and frontend and watch files for your local changes.

### Backend development

Only if you prefer developing without using docker.

Run `./install.sh` in the backend directory.

Run `python app.py` in backend root (will watch files and restart server on port `8081` on change).
In order to install new packages, add them to the `requirements.txt` file. If you run the `watcher.py` (default when using docker) they will be automatically installed in the background so you can use them in your app.

### Frontend development

Only if you prefer developing without using docker.

Run `yarn install` in the frontend directory.

Run `yarn start` in frontend root (will watch files and restart dev-server on port `4200` on change).
All calls made to `/api` will be proxied to backend server (default port for backend `8081`), this can be changed in `proxy.conf.json`.

## Production web backend/frontend

Run `docker-compose up` in root. Will start four containers (mongodb, backend, frontend, nginx).