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.
This repo is functionality complete — PRs and issues welcome! Feel free to contact me in my discord server: pea_gah
- Custom login and register authentication
- Password reset with email
- Dashboard with navbar and sidebar
- Custom tables
- Custom pagination
- Custom search
- Custom empty state
- Custom Django-Admin
- Excel export
- Flash messages
- Tailwind CSS
- Light and dark theme
- Responsive
- Unit testing, integration testing and functional testing(Selenium)
- Create, read, update, delete(CRUD)
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/)