Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Bug report
about: Help us squash defects in Eventator
labels: bug
---

## Description
A clear and concise description of the issue.

## Steps to reproduce
1.
2.
3.

## Expected behaviour
What you expected to happen.

## Screenshots / logs
Optional but helpful context. Attach logs, stack traces, or screenshots if available.

## Environment
- OS:
- Browser (if UI related):
- Python version:
- Additional context:
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Django Cameroon Community Discord
url: https://discord.gg/EhFc7hqpbk
about: Join the community to chat about ideas before filing an issue.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an enhancement to Eventator
labels: enhancement
---

## Summary
Describe the feature or improvement you have in mind.

## Motivation
Explain the problem this feature solves or the value it delivers.

## Proposed solution
Outline how you think the feature should behave (UI, workflow, etc.).

## Alternatives considered
List any alternative approaches you explored.

## Additional context
Anything else we should know? Links, references, or related issues.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/hacktoberfest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Hacktoberfest idea
about: Pitch a Hacktoberfest contribution opportunity or collaboration
labels: hacktoberfest
---

## Idea summary
Provide an overview of the idea you want to work on during Hacktoberfest.

## Impact
Why is this valuable for the Django Cameroon community or Eventator users?

## Tasks
Break down the work into actionable steps if possible.

## Skills required
List any specific skills, tools, or knowledge helpful for contributors.

## Additional context
Anything else participants should know? Link to resources or related discussions.
23 changes: 23 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Summary

Provide a concise overview of the problem and the solution. Bullet the key points so reviewers can skim quickly.

## Related Issues

Reference related issues using closing keywords so they auto-link. Example: `Closes #123`.

## Testing

List commands or steps used to verify the change.
- [ ] `uv run python manage.py test`
- [ ] Other:

## Screenshots

Attach only if the change alters the UI.

## Checklist

- [ ] Added or updated documentation when needed
- [ ] Included database migrations or seed updates when required
- [ ] Confirmed the description explains any follow-up work left out of this PR
29 changes: 29 additions & 0 deletions .github/workflows/add_star.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Check if PR author starred the repo

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
check-star:
runs-on: ubuntu-latest
steps:
- name: Check if user starred repo
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USER: ${{ github.actor }}
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
run: |
echo "Checking if $USER starred $OWNER/$REPO"
curl -s -H "Authorization: token $GH_TOKEN" \
https://api.github.com/repos/$OWNER/$REPO/stargazers?per_page=100 \
| jq -r '.[].login' > stargazers.txt

if grep -q "^$USER$" stargazers.txt; then
echo "User $USER has starred the repo 🎉"
else
echo "::error::User $USER has not starred the repo. Please star it before merging."
exit 1
fi

8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions .idea/DjangoBox.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.ask2agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.edit.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file added CONTRIBUTING.md
Empty file.
Empty file added DjangoBox/__init__.py
Empty file.
16 changes: 16 additions & 0 deletions DjangoBox/asgi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""
ASGI config for DjangoBox project.

It exposes the ASGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/
"""

import os

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoBox.settings')

application = get_asgi_application()
128 changes: 128 additions & 0 deletions DjangoBox/settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
"""
Django settings for DjangoBox project.

Generated by 'django-admin startproject' using Django 4.2.25.

For more information on this file, see
https://docs.djangoproject.com/en/4.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.2/ref/settings/
"""

from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-t063yoyj@=y&-)2*$exi1krt%jp2xe%bt=$4r=iunb1#d1llq3'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'core.apps.CoreConfig',
'markdownfield'
]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'DjangoBox.urls'

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates']
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

WSGI_APPLICATION = 'DjangoBox.wsgi.application'


# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}


# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]


# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/

STATIC_URL = 'static/'

# Default primary key field type
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

SITE_URL = 'http://localhost:8000'
Loading