![Cardie Logo](repo/images/logo_light.png#gh-dark-mode-only) ![Cardie Logo](repo/images/logo_dark.png#gh-light-mode-only)
Design a unlimited number of business or information cards about yourself, share a link or QR code to them, print it out, and save other people's cards to your virtual wallet for later. Once you've created a card you can get analytics data on how your cards are getting visited, you can edit your cards as things change, and you can keep cards private so only people with a link to your card can see it.
[!IMPORTANT] Cardie is currently in an open alpha. Things will be rapidly changing and bugs are to be expected.
First, clone this repository using the following command
git clone https://github.com/nfoert/cardie
Then, navigate to that directory and create a new python virtual environment
cd cardie
python3 -m venv .venv
Activate the virtual environment using the command for your system (Linux is used here) and install the required dependencies
source ./.venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
Copy the .env.example
file to a new file called .env
.
cp .env-template .env
Next, create a django superuser and make and migrate the models
cd cardie
python manage.py createsuperuser
python manage.py makemigrations
python manage.py migrate
Now just run the server using the following command, or run the Start server
task in your Visual Studio Code
python manage.py runserver
Finally, navigate to http://127.0.0.1:8000/admin
and log in using your new administrator account. Create a new Server
object and be sure to configure the ip
to be http://127.0.0.1:8000
.
This depends on what server hosting provider you're using. However, there's a couple environment variables you need to set and there's a run command.
Set the following global environment variables:
DJANGO_ALLOWED_HOSTS
-> ${APP_DOMAIN}
(This works on DigitalOcean, this may not work on every hosting provider)
DJANGO_LOG_LEVEL
-> WARNING
SECRET_KEY
-> <your new secret key>
(Generate this using django.core.management.utils.get_random_secret_key()
. If possible you should encrypt this value in your hosting provider.)
DEBUG
-> False
DATABASE_URL
-> ${db.DATABASE_URL}
(This works on DigitalOcean, this may not work on every hosting provider)
This project uses djlint
to lint the templates. You can run this using the following command
djlint cardie --reformat
This project uses ruff
to lint and format the code.
You can run the following command to lint and format the code.
ruff check cardie --fix
For VS Code users, you can install the ruff
extension to get linting and formatting on save.
Please see CONTRIBUTING.md for instructions on how you can contribute to Cardie