Skip to content

peprolinbot/competenciApp-hackudc25

competenciApp

competenciApp logo

competenciApp on Quay

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

📝 License

This project is licensed under GPLv3.

🖼️ Logo Usage

The logo used is in this project is free to use.

✨ Features

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

📷 Screenshots

Index page screenshot

Sign In page screenshot

Skill search page screenshot

Skill info page screenshot

User info page screenshot

🔧 Installation

🐳 Docker (Recommended)

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

⚙️ Environment Variables

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

Building the Docker image

git clone https://github.com/peprolinbot/competenciApp-hackudc25.git
cd competenciApp-hackudc25
docker build -t competenciapp .

💪🏻 Without Docker (for development)

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.

About

Our project for the HackUdc 2025 edition.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •