Please checkout this one with Node.js support! :)
- django - backend
- yarn - dependency manager
- gulp - task runner
- materialize - a modern responsive front-end framework based on Material Design
- sass - CSS pre-processors
- postcss - CSS post-processor
- webpack 2 - module bundler
- webpack-dev-server - provides fast in-memory access to the webpack assets for live reloading
- followed ES6 standard
- babel - compile ES6 to ES5
- react - building user interfaces
- react-hot-loader 3 - hot module reload!
- react-router - routing
- react-redux - the official react bindings for redux (a predictable state container for js apps)
- react-router-redux - keep react-router and redux in sync
- Typescript - a typed superset of javascript that scales
- DefinitelyTyped - high quality TypeScript type definitions
- editorconfig - maintain consistent coding styles between different editors and IDEs
- eslint - lint javascript files (.js, .jsx)
- tslint - lint typescript files (.ts, .tsx)
- stylelint - lint style files (.css, .scss)
- pylint - lint python files (.py)
- postgresql - advanced open source database
- prismjs - code syntax highlight
- jest - painless javascript testing
- coveralls - test coverage
- husky - git hooks
- travis-ci - continuous integration tool for testing and deployment
- docker - the open-source application container engine
nodeyarn(recommended) ornpmpython 3.6.0andvirtualenv- Tip: you can use
pyenvto manage your different versions of python
- Tip: you can use
postgresqlor other databases
Install yarn follows official documentation.
Install pyenv follows official documentation.
Go to project root directory:
yarn
yarn global add gulp
bash patch.shIf you meet permission problem when try to install yarn globally, check this out.
If you don't have python 3.6.0 installed, you can choose to use pyenv
brew install pyenv
pyenv install 3.6.0
pyenv local 3.6.0After that, create a virtual python environment using python 3.6.0, naming the folder as pyenv which has been added to .gitignore
pip install virtualenv
virtualenv -p python3 pyenvSource your virtualenv and install the required package through pip
source pyenv/bin/activate
pip install -r backend/requirements.txtvim backend/project_name/settings.pyYou probably want to change:
- Database Config
- Timezone
- Cache Method
- Others
(if you are using postgresql, then create a user called django with django database, and the default setting is good to go, otherwise you may need to install database driver for your own database)
On development (with react-hot-reload):
gulpOn production (with uglify-js and other optimazitions):
NODE_ENV=production gulpcd backendOn development:
python manage.py makemigrations
python manage.py migrate
python manage.py runserverOn production:
vim project_name/settings.pySet DEBUG to False
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic
# Setup Apache or Nginx to support static files here
python manage.py runserveryarn testyarn coverallsMIT License