DjangoDash is a CRM built with Django, featuring a sleek and modern design powered by Tailwind CSS. It provides custom authentication, responsive dashboards, and full CRUD functionality, offering an efficient and intuitive solution for managing customer data.
Clone the project
git clone https://github.com/Peagah-Vieira/Django-CRM-Web-Application
Create a virtual environment
# Linux
sudo apt-get install python3-venv
python3 -m venv .venv
source .venv/bin/activate
# macOS
python3 -m venv .venv
source .venv/bin/activate
# Windows
py -3 -m venv .venv
.venv\scripts\activate
Update the pip
py -m pip install --upgrade pip
Install the dependencies
pip install -r requirements.txt
npm install
Copy the .env-example file and make the required configuration changes in the .env file
cp .env-example .env
Compile the Tailwind CSS
npm run build
Perform the migrations
py manage.py migrate
Seed leads app
py manage.py seed leads --number=50
Start the server
py manage.py runserver
Clone the project
git clone https://github.com/Peagah-Vieira/Django-CRM-Web-Application
Copy the .env-example file and make the required configuration changes in the .env file
cp docker_dotenv_files/.env-example docker_dotenv_files/.env
Build and start a Docker container with the services defined in a Docker Compose file
docker-compose up --build
To run the tests, run the following command.
Make sure you have the latest Chromedriver available. (bin/chromedriver.exe)
coverage run -m pytest
Test percentage table (htmlcov/index.html)
coverage html
Good practice concepts:
(https://learndjango.com/tutorials/django-best-practices-projects-vs-apps).
Python requirements file:
(https://learnpython.com/blog/python-requirements-file/)
Write and run tests:
(https://docs.djangoproject.com/en/4.2/topics/testing/overview/)
Test-Driven Development:
(https://www.browserstack.com/guide/what-is-test-driven-development)
Selenium:
(https://django-selenium.readthedocs.io/en/latest/)
Class Based Views:
(https://docs.djangoproject.com/en/4.2/topics/class-based-views/)
PostgreSQL - Naming Conventions:
(https://www.geeksforgeeks.org/postgresql-naming-conventions/)