Skip to content

Commit 8d77f5c

Browse files
authored
Merge pull request #37 from rajaalebchiri/contribution/event-system
Contribution/event system
2 parents 1ad3b81 + 139b5fb commit 8d77f5c

38 files changed

+1711
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

event_manager/.DS_Store

6 KB
Binary file not shown.

event_manager/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.event_manager/

event_manager/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Event Management System
2+
3+
## Overview
4+
The Event Management System is a beginner-friendly Django web app that allows users to create, manage, and participate in events. It demonstrates core Django concepts, providing hands-on experience for new developers.
5+
6+
## Features
7+
- User registration & authentication
8+
- Event creation, editing, and deletion
9+
- Event browsing & search functionality
10+
- Event registration & user dashboard
11+
12+
## Technologies Used
13+
- Django 4.2
14+
- Python 3.9+
15+
- HTML/CSS
16+
- JavaScript
17+
- SQLite (default database, can be changed to PostgreSQL for production)
18+
19+
20+
## Project Structure
21+
```
22+
event_management/
23+
├── event_management/ # Project settings
24+
├── events/ # Main app
25+
│ ├── models.py # Event and Registration models
26+
│ ├── views.py # View functions
27+
│ ├── urls.py # URL patterns
28+
│ ├── forms.py # Forms for event creation and registration
29+
│ └── templates/ # HTML templates
30+
├── manage.py
31+
└── requirements.txt
32+
```
33+
34+
## Setup
35+
1. Clone the repo: `git clone <repo-url>`
36+
2. Install dependencies: `pip install -r requirements.txt`
37+
3. Run server: `python manage.py runserver`

event_manager/event_manager/__init__.py

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
ASGI config for event_manager project.
3+
4+
It exposes the ASGI callable as a module-level variable named ``application``.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/5.1/howto/deployment/asgi/
8+
"""
9+
10+
import os
11+
12+
from django.core.asgi import get_asgi_application
13+
14+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "event_manager.settings")
15+
16+
application = get_asgi_application()
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
"""
2+
Django settings for event_manager project.
3+
4+
Generated by 'django-admin startproject' using Django 5.1.1.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/5.1/topics/settings/
8+
9+
For the full list of settings and their values, see
10+
https://docs.djangoproject.com/en/5.1/ref/settings/
11+
"""
12+
13+
from pathlib import Path
14+
15+
# Build paths inside the project like this: BASE_DIR / 'subdir'.
16+
BASE_DIR = Path(__file__).resolve().parent.parent
17+
18+
19+
# Quick-start development settings - unsuitable for production
20+
# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/
21+
22+
# SECURITY WARNING: keep the secret key used in production secret!
23+
SECRET_KEY = "django-insecure-9=j2t=&9xl(v+14z+v#b0pfrwwfp=t0p29@82agg53koo3p8pq"
24+
25+
# SECURITY WARNING: don't run with debug turned on in production!
26+
DEBUG = True
27+
28+
ALLOWED_HOSTS = []
29+
30+
31+
# Application definition
32+
33+
INSTALLED_APPS = [
34+
"django.contrib.admin",
35+
"django.contrib.auth",
36+
"django.contrib.contenttypes",
37+
"django.contrib.sessions",
38+
"django.contrib.messages",
39+
"django.contrib.staticfiles",
40+
"events"
41+
]
42+
43+
MIDDLEWARE = [
44+
"django.middleware.security.SecurityMiddleware",
45+
"django.contrib.sessions.middleware.SessionMiddleware",
46+
"django.middleware.common.CommonMiddleware",
47+
"django.middleware.csrf.CsrfViewMiddleware",
48+
"django.contrib.auth.middleware.AuthenticationMiddleware",
49+
"django.contrib.messages.middleware.MessageMiddleware",
50+
"django.middleware.clickjacking.XFrameOptionsMiddleware",
51+
]
52+
53+
ROOT_URLCONF = "event_manager.urls"
54+
55+
AUTHENTICATION_BACKENDS = [
56+
'django.contrib.auth.backends.ModelBackend',
57+
]
58+
TEMPLATES = [
59+
{
60+
"BACKEND": "django.template.backends.django.DjangoTemplates",
61+
"DIRS": ["templates"],
62+
"APP_DIRS": True,
63+
"OPTIONS": {
64+
"context_processors": [
65+
"django.template.context_processors.debug",
66+
"django.template.context_processors.request",
67+
"django.contrib.auth.context_processors.auth",
68+
"django.contrib.messages.context_processors.messages",
69+
],
70+
},
71+
},
72+
]
73+
74+
WSGI_APPLICATION = "event_manager.wsgi.application"
75+
76+
77+
# Database
78+
# https://docs.djangoproject.com/en/5.1/ref/settings/#databases
79+
80+
DATABASES = {
81+
"default": {
82+
"ENGINE": "django.db.backends.sqlite3",
83+
"NAME": BASE_DIR / "db.sqlite3",
84+
}
85+
}
86+
87+
88+
# Password validation
89+
# https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators
90+
91+
AUTH_PASSWORD_VALIDATORS = [
92+
{
93+
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
94+
},
95+
{
96+
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
97+
},
98+
{
99+
"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
100+
},
101+
{
102+
"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
103+
},
104+
]
105+
106+
107+
# Internationalization
108+
# https://docs.djangoproject.com/en/5.1/topics/i18n/
109+
110+
LANGUAGE_CODE = "en-us"
111+
112+
TIME_ZONE = "UTC"
113+
114+
USE_I18N = True
115+
116+
USE_TZ = True
117+
118+
119+
# Static files (CSS, JavaScript, Images)
120+
# https://docs.djangoproject.com/en/5.1/howto/static-files/
121+
122+
STATIC_URL = "static/"
123+
124+
# Default primary key field type
125+
# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field
126+
127+
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
from django.contrib import admin
3+
from django.urls import path, include
4+
5+
urlpatterns = [
6+
path("", include("events.urls")),
7+
path("admin/", admin.site.urls),
8+
]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
WSGI config for event_manager project.
3+
4+
It exposes the WSGI callable as a module-level variable named ``application``.
5+
6+
For more information on this file, see
7+
https://docs.djangoproject.com/en/5.1/howto/deployment/wsgi/
8+
"""
9+
10+
import os
11+
12+
from django.core.wsgi import get_wsgi_application
13+
14+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "event_manager.settings")
15+
16+
application = get_wsgi_application()

event_manager/events/.DS_Store

6 KB
Binary file not shown.

0 commit comments

Comments
 (0)