This is a Django web app (and PWA) that allows you to register your skills and the resources you used to learn them. So that no one else in your company/organization has to go trough the same struggles you did.
This project takes place at HackUDC 2025 and was developed by:
- Pedro Rey Anca
- Mario Denis Radu Trifu
- Mario Ozón Casais
This project is licensed under GPLv3.
The logo used is in this project is free to use.
- Multiuser 👥, all your company can use it (pun intended)
- Supports SSO using allauth
- Responsive, and we also have a PWA!!! 📱📱
- Totally Dockerized🐋 in one small, optimized, alpine-based image
- Uses tha amazing Django framework 🐍🐍
If you want to host your own instance of the web, it is as easy as a docker container. Check the environment variables below to configure important things, as this example below supposes things like the mail server doesn't use authentication, which isn't realistic.
So the command is:
docker run -d --name competenciapp \
-e DJANGO_ALLOWED_HOSTS="example.com" \
-e DJANGO_SECRET_KEY="changemetosomethingsecureplease" \
-e EMAIL_HOST="127.0.0.1" \
-e DEFAULT_FROM_EMAIL="competenciapp@example.com" \
-e EMAIL_BASE_URL="http://example.com" \
-p 8080:80 \
-v /data/competenciapp-cfg/db.sqlite3:/app/db.sqlite3 \
quay.io/peprolinbot/competenciapp:latest
Name | Description |
---|---|
DJANGO_DEBUG (bool) |
Whether to enable Django's debug mode. Leave it false in production. (Default: False) |
DJANGO_ALLOWED_HOSTS |
Space-separated list of host/domain names that Django can serve. Not needed in debug mode (otherwise is needed). (Default: "") |
DJANGO_SECRET_KEY |
The key to securing signed data. Must be randomly generated and kept secure. (Default: "django-insecure-xplh11sh6)6qg(u^vdbh=kp=hae#r-o%p!ik0$e8y0)vsq+w") |
DJANGO_CSRF_TRUSTED_ORIGINS |
Space-separated list of trusted origins for unsafe requests. Not needed in debug mode, and when running on port 80/443. (Default: "") |
DJANGO_SOCIALACCOUNT_PROVIDERS_FILE |
You can check more information here (Default: "/tmp/social_account_providers.json") |
DJANGO_TIME_ZONE |
You can check more information here (Default: "Europe/Madrid") |
EMAIL_HOST |
Smtp server host (Default: "localhost") |
EMAIL_USE_TLS |
(Default: False) |
EMAIL_USE_SSL |
(Default: False) |
EMAIL_PORT |
(Default: 25) |
EMAIL_HOST_USER |
(Default: "") |
EMAIL_HOST_PASSWORD |
(Default: "") |
DEFAULT_FROM_EMAIL |
Email address used when sending (Default: "webmaster@localhost") |
EMAIL_BASE_URL |
Used for the images and urls in the emails (Default: "http://127.0.0.1:8000") |
Note🗒️: Booleans are only true when their value is the string "true" (not case sensitive)
Note🗒️: EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive, so only set one of those settings to True.
Tip💡: You can generate a secret key with openssl rand -hex 32
Tip💡: You can check Django's documentation to better understand these variables
git clone https://github.com/peprolinbot/competenciApp-hackudc25.git
cd competenciApp-hackudc25
docker build -t competenciapp .
Only use this for development unless you know what you're doing.
git clone https://github.com/peprolinbot/competenciApp-hackudc25.git
cd competenciApp-hackudc25
export DJANGO_DEBUG=true
python3 manage.py runserver
Please check Django's documentation.