This repository, authored by martialo12, is a starter kit designed for building web applications using Django, Vue.js 3, and Quasar, with Okta OAuth2 authentication. This project provides a robust setup with Django and Django Rest Framework on the backend, a modern Vue.js and Quasar framework on the frontend, and secure user management through Okta. The application is dockerized for easy development and deployment, with Nginx serving as a reverse proxy.
- Backend: Django 5.0.2 with Django Rest Framework 3.14.0.
- Frontend: Responsive UI built with Vue.js 3 and Quasar.
- Authentication: Secure Okta OAuth2 integration with login, logout, and callback functionality.
- Dockerization: Containerized setup for both development and production environments.
- Reverse Proxy: Nginx used to efficiently route requests from the frontend to the backend.
Before you begin, ensure you have Docker and Docker Compose installed on your system. This will handle all requirements for both frontend and backend setups.
-
Clone the Repository
git clone https://github.com/martialo12/django-vuejs-quasar-okta-starter.git cd django-vuejs-quasar-okta-starter
-
Dockerized Setup
Build and run the containers with Docker Compose:
docker-compose up --build
This command builds the Docker images and starts the containers as defined in the
docker-compose.yml
file. It includes the Django server, Vue.js frontend, and Nginx reverse proxy.
After starting the containers, the application will be accessible at:
- Frontend: http://localhost (served by Quasar through Nginx)
- api docs: http://localhost/api/docs (served by Django)
Use the frontend application to navigate and authenticate via Okta. The Nginx server routes these requests to the appropriate backend service securely.
Contributions to improve the project are welcome. Please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.