KevinLeeFM / aerodock

A project to create a modular application system in the frontend.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Aerodock

Instructions

Backend

Setup

  1. Make sure to use python3 -m venv ./env to create a new virtual environment in the top directory
  2. Activate it via source env/bin/activate on macOS. You will need to do this every time you start a new terminal session
  3. Install the following by running this command:
pip3 install ariadne; pip3 install django; pip3 install django-cors-headers;

Note for VS Code users

  • Make sure to install the official Python extension for VS Code
  • Make sure that the selected Python distribution is the one inside the env folder (i.e. ./env/bin/python). If not, attempting to debug the server may result in ImportError.

Frontend

  1. Install all the "devDependencies". To do so, in the frontend/ folder, run npm install

To run development server for the frontend

  1. In the frontend/ folder, run npm run start
  2. In your browser, navigate to http://localhost:8080/
  • Note that the website will not be able to request any data and throw unexpected error until the backend Django server is also running.

We develop React components with Styleguidist, a development server that allows us to view and develop React components individually.

To run development server for individual React components

  1. In the frontend/ folder, run npm run styleguide
  2. In your browser, navigate to http://localhost:6060/

Road Map

Phase one:

  1. Panel settings
  2. Wire api to components
  3. User login

Phase two:

  1. Populate app
  2. More customization options?

Pending unresolvable issues

  • (As of 2020/05/02) Ariadne currently has a bug with interpreting SDL for default enum values in field arguments (e.g. addPanel(size: PanelSize=MEDIUM), where MEDIUM is the default enum for size), where the default value will always become null. This issue is being tracked on Ariadne's repository and is in their milestone: mirumee/ariadne#293
  • (As of 2020/05/02) Styleguidist's hot reload feature does not work with Webpack version ^4.43.0 or ^4.41.6.

About

A project to create a modular application system in the frontend.

License:GNU General Public License v3.0


Languages

Language:JavaScript 67.0%Language:Python 31.8%Language:HTML 0.9%Language:CSS 0.2%