/cardie

An open source business card designer and sharing platform

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Cardie Logo Cardie Logo

Live Server

Wiki | Releases

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.

Installation

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

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.

Additional steps for Production installation

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_SETTINGS_MODULE -> cardie.settings_production

  • DJANGO_LOG_LEVEL -> WARNING

  • STATIC_URL -> /static/main

  • 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)

To Do

There's lots of things that need implemented or changed in this project. Please see TODO.md.

Contributing

I'd love to see contributions to this project! Please check out the issues page to see what things currently need fixed or added.

Additionally, check TODO.md for a rough todo list of things that need implemented, and the wiki for some information on how to work with some of the existing systems.

When contributing, first fork this repository. If you want the latest changes uncheck the Copy the main branch only option. Then, create a new branch with your change in it, either from the main branch or the development branch. Finally, open a pull request which merges into the development branch. Your changes will be reviewed and merged when ready.