Overview
The Django + Vue + GraphQL + AWS Cookiecutter is a highly opinionated template that combines Django, Vue.js, GraphQL, and AWS into a single full-stack web application. It aims to provide developers with a pre-configured setup for building web applications using these technologies.
Features
- Backend: The template utilizes Python 3.7 and Django 2.2 LTS for the backend development.
- GraphQL: It incorporates GraphQL, a query language for APIs, enabling efficient data fetching and manipulation.
- Frontend: The frontend development is powered by ES6 and Vue.js, a popular JavaScript framework.
- Deployment: The template includes AWS services such as Lambda, S3, CloudFront, RDS, and VPC for seamless deployment and scaling of the web application.
- Packaging and Deployment: Zappa, a serverless Python web framework for deploying applications on AWS Lambda, is integrated into the template.
- Infrastructure-as-Code Scripting: CDK (Cloud Development Kit) is included for infrastructure management using code.
- Error Monitoring: Sentry, an open-source error monitoring tool, is integrated for easy tracking and debugging of application errors.
- Based on cookiecutter-django-vue: The template is originally based on the cookiecutter-django-vue project and was extracted from the Reddit scheduling application, Postpone.
Installation
To install the Django + Vue + GraphQL + AWS Cookiecutter, you need to follow these steps:
- Install cookiecutter:
pip install cookiecutter
- Run cookiecutter against the template repository:
cookiecutter https://github.com/<template-repo>
Note: Replace <template-repo> with the actual repository URL.
You will be prompted for values. Provide the required information, and the project will be created for you.
Start the project using docker-compose:
docker-compose up
- Open http://0.0.0.0:8000 in your browser to view the application.
Summary
The Django + Vue + GraphQL + AWS Cookiecutter template is a comprehensive solution for building full-stack web applications using Django, Vue.js, GraphQL, and AWS. It offers pre-configured setups for both the backend and frontend development, seamless deployment using AWS services, and error monitoring capabilities. With its opinionated structure and integrated tools, this template can be a valuable asset for developers looking to quickly kickstart their web application projects.