2. Run `python manage.py createsuperuser` to create a user to access the admin panel.
-3. Set up the Username and Password
-4. You can log in and change the database values anytime.
+3. if there is an error due to time then sync your machine time .
+4. Set up the Username and Password
+5. You can log in and change the database values anytime.
+6. Create your id as insitute Roll No for both admin and student .
+7.if u are still getting an error ,open inspect and see in network
+And then recognize it
+8.Check the client link in dev.env in backend and .env in frontend is the same
### Deploying
From a05ec1430f876803ca995880494ab87a6ece11f6 Mon Sep 17 00:00:00 2001
From: kasv-p <84275697+kasv-p@users.noreply.github.com>
Date: Mon, 6 Jun 2022 19:03:04 +0530
Subject: [PATCH 04/10] creating db command added
---
setup.bat | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/setup.bat b/setup.bat
index 73da3f2..26ffaf0 100644
--- a/setup.bat
+++ b/setup.bat
@@ -2,11 +2,14 @@
start /wait python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt &^
echo Environment Setup Complete &^
timeout 3 > NUL &^
+echo enter password for user postgres &^
+createdb -h localhost -p 5432 -U postgres cdc &^
cd "CDC_Backend" &^
python manage.py flush --no-input &^
python manage.py makemigrations &^
python manage.py migrate &^
echo Migrations complete &^
-start superuser.bat &^
+cd .. &^
+start .\superuser.bat &^
echo done successfully
From 76b9cfc9b8ffb4c177662897410b522cc2c36734 Mon Sep 17 00:00:00 2001
From: kasv-p <84275697+kasv-p@users.noreply.github.com>
Date: Mon, 6 Jun 2022 19:25:25 +0530
Subject: [PATCH 05/10] Update superuser.bat
---
superuser.bat | 1 +
1 file changed, 1 insertion(+)
diff --git a/superuser.bat b/superuser.bat
index 88d3591..7afce95 100644
--- a/superuser.bat
+++ b/superuser.bat
@@ -1,6 +1,7 @@
@echo off
set /p create="do you want to create supruser ? (Y/N) "
+cd "CDC_Backend" &^
if %create% equ Y ( python manage.py createsuperuser )
if %create% equ y ( python manage.py createsuperuser )
From 52b74e2e9f1b299da451578d3a3642695e6b2f5d Mon Sep 17 00:00:00 2001
From: Gowtham Sai <66207607+gowtham3105@users.noreply.github.com>
Date: Sat, 8 Oct 2022 14:26:27 +0530
Subject: [PATCH 06/10] Send reminder mails service
---
CDC_Backend/APIs/constants.py | 2 +
CDC_Backend/CDC_Backend/settings.py | 1 +
CDC_Backend/scripts/send_reminder_mails.py | 63 +++++++++++++++++++
.../templates/students_opening_reminder.html | 2 +-
4 files changed, 67 insertions(+), 1 deletion(-)
create mode 100644 CDC_Backend/scripts/send_reminder_mails.py
diff --git a/CDC_Backend/APIs/constants.py b/CDC_Backend/APIs/constants.py
index 5696feb..42b2736 100644
--- a/CDC_Backend/APIs/constants.py
+++ b/CDC_Backend/APIs/constants.py
@@ -158,6 +158,7 @@ STUDENT_APPLICATION_SUBMITTED_TEMPLATE_SUBJECT = 'CDC - Application Submitted -
STUDENT_APPLICATION_UPDATED_TEMPLATE_SUBJECT = 'CDC - Application Updated - {company_name}'
COMPANY_EMAIl_VERIFICATION_TEMPLATE_SUBJECT = 'Email Verification - Career Development Cell, IIT Dharwad'
NOTIFY_STUDENTS_OPENING_TEMPLATE_SUBJECT = 'Placement Opportunity at {company_name}'
+REMINDER_STUDENTS_OPENING_TEMPLATE_SUBJECT = 'Reminder - Placement Opportunity at {company_name}'
STUDENT_APPLICATION_SUBMITTED_TEMPLATE = 'student_application_submitted.html'
COMPANY_OPENING_SUBMITTED_TEMPLATE = 'company_opening_submitted.html'
@@ -167,6 +168,7 @@ STUDENT_APPLICATION_UPDATED_TEMPLATE = 'student_application_updated.html'
COMPANY_EMAIL_VERIFICATION_TEMPLATE = 'company_email_verification.html'
COMPANY_JNF_RESPONSE_TEMPLATE = 'company_jnf_response.html'
NOTIFY_STUDENTS_OPENING_TEMPLATE = 'notify_students_new_opening.html'
+REMINDER_STUDENTS_OPENING_TEMPLATE = 'students_opening_reminder.html'
APPLICATION_CSV_COL_NAMES = ['Applied At', 'Roll No.', 'Name', 'Email', 'Phone Number', 'Branch', 'Batch', 'CPI',
'Resume', 'Selected', ]
diff --git a/CDC_Backend/CDC_Backend/settings.py b/CDC_Backend/CDC_Backend/settings.py
index c5667cf..154e430 100644
--- a/CDC_Backend/CDC_Backend/settings.py
+++ b/CDC_Backend/CDC_Backend/settings.py
@@ -46,6 +46,7 @@ INSTALLED_APPS = [
'background_task',
'simple_history',
'import_export',
+ 'django_extensions',
]
MIDDLEWARE = [
diff --git a/CDC_Backend/scripts/send_reminder_mails.py b/CDC_Backend/scripts/send_reminder_mails.py
new file mode 100644
index 0000000..0048c34
--- /dev/null
+++ b/CDC_Backend/scripts/send_reminder_mails.py
@@ -0,0 +1,63 @@
+from APIs.models import Placement, Student, PlacementApplication, User
+from APIs.utils import sendEmail, PlacementApplicationConditions
+from APIs.constants import *
+from django.shortcuts import get_object_or_404
+from django.utils import timezone
+import time
+import pytz
+
+REPEAT_AFTER = 10 * 60
+
+
+def send_reminder_mails():
+ placements = Placement.objects.all()
+ students = Student.objects.all()
+
+ for placement in placements.iterator():
+ print("Processing placement: ", placement)
+ # if placement is approved and email is verified
+ if not (placement.offer_accepted and placement.email_verified):
+ continue
+
+ # if placement is not expired
+ if placement.deadline_datetime < timezone.now():
+ continue
+
+ # send the reminder mail if the deadline is within 24 hours +- ReapetAfter
+ if timezone.now() - timezone.timedelta(
+ seconds=REPEAT_AFTER) <= placement.deadline_datetime - timezone.timedelta(days=1) < timezone.now() + \
+ timezone.timedelta(seconds=REPEAT_AFTER):
+ for student in students:
+ try:
+ # if Application not found then send email
+ if not PlacementApplication.objects.filter(placement=placement, student=student).exists():
+ if student.branch in placement.allowed_branch:
+ if student.degree == 'bTech' or placement.rs_eligible is True:
+ if PlacementApplicationConditions(student, placement)[0]:
+ student_user = get_object_or_404(User, id=student.id)
+ # change timezone to IST
+ deadline_datetime = placement.deadline_datetime.astimezone(pytz.timezone('Asia/Kolkata'))
+ data = {
+ "company_name": placement.company_name,
+ "opening_type": 'Placement',
+ "deadline": deadline_datetime.strftime("%A, %-d %B %Y, %-I:%M %p"),
+ "link": PLACEMENT_OPENING_URL.format(id=placement.id)
+ }
+ print("Sending mail to " + student_user.email, "placement id: ", placement.id)
+ sendEmail(student_user.email,
+ REMINDER_STUDENTS_OPENING_TEMPLATE_SUBJECT.format(
+ company_name=placement.company_name),
+ data, REMINDER_STUDENTS_OPENING_TEMPLATE)
+
+ except Exception as e:
+ print(e)
+ continue
+
+
+def run():
+ while True:
+ print("Sleeping for", REPEAT_AFTER, "seconds")
+ time.sleep(REPEAT_AFTER)
+ print("Running send_reminder_mails()")
+ send_reminder_mails()
+
diff --git a/CDC_Backend/templates/students_opening_reminder.html b/CDC_Backend/templates/students_opening_reminder.html
index 4541089..dd0b9d2 100644
--- a/CDC_Backend/templates/students_opening_reminder.html
+++ b/CDC_Backend/templates/students_opening_reminder.html
@@ -45,7 +45,7 @@
{{ opening_type }} Opportunity at {{ company_name }}
- Gentle reminder for the same.
+ Gentle reminder to fill out the application form.
Interested students can apply before {{ deadline }} in the CDC-webportal.
From 653177d11ad70075e2b4db1337e1051545eacb63 Mon Sep 17 00:00:00 2001
From: karthikmurakonda
Date: Sat, 8 Oct 2022 22:16:04 +0530
Subject: [PATCH 07/10] added django-extensions to requirements.txt
---
requirements.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/requirements.txt b/requirements.txt
index d6465e1..efc1a43 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,6 +14,7 @@ django-background-tasks==1.2.5
django-compat==1.0.15
django-cors-headers==3.11.0
django-db-logger==0.1.12
+django-extensions==3.2.1
django-import-export==2.8.0
django-simple-history==3.1.1
djangorestframework==3.13.1
From dbc875eabfd23b3f94ce468cbb7a7753f4baf90c Mon Sep 17 00:00:00 2001
From: Gowtham Sai <66207607+gowtham3105@users.noreply.github.com>
Date: Fri, 30 Dec 2022 17:30:02 +0530
Subject: [PATCH 08/10] minor fix to contributors api
---
CDC_Backend/APIs/serializers.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/CDC_Backend/APIs/serializers.py b/CDC_Backend/APIs/serializers.py
index ad7d9f7..bc8cbaa 100644
--- a/CDC_Backend/APIs/serializers.py
+++ b/CDC_Backend/APIs/serializers.py
@@ -162,7 +162,8 @@ class PlacementApplicationSerializer(serializers.ModelSerializer):
return data
def get_resume_link(self, obj):
- ele = {'link': LINK_TO_STORAGE_RESUME + urllib.parse.quote(str(obj.student.roll_no) + "/" + obj.resume), 'name': obj.resume}
+ ele = {'link': LINK_TO_STORAGE_RESUME + urllib.parse.quote(str(obj.student.roll_no) + "/" + obj.resume),
+ 'name': obj.resume}
return ele
class Meta:
@@ -186,6 +187,8 @@ class PlacementApplicationSerializerForAdmin(serializers.ModelSerializer):
model = PlacementApplication
exclude = ['placement', 'resume']
+
class ContributorSerializer(serializers.ModelSerializer):
class Meta:
- model = Contributor
\ No newline at end of file
+ model = Contributor
+ fields = '__all__'
From b94d63febe3e4f5ddcb14a666e2b21744d962cb6 Mon Sep 17 00:00:00 2001
From: karthik mv
Date: Tue, 2 May 2023 00:49:01 +0530
Subject: [PATCH 09/10] Update postgres.md
---
doc/setup/postgres.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/doc/setup/postgres.md b/doc/setup/postgres.md
index d3dba5e..8941fa6 100644
--- a/doc/setup/postgres.md
+++ b/doc/setup/postgres.md
@@ -1,6 +1,6 @@
typical conf file for pg_hba.conf for dev work.
-
+```
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
@@ -13,4 +13,5 @@ host all all ::1/128 md5
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
-host replication all ::1/128 ident
\ No newline at end of file
+host replication all ::1/128 ident
+```
From adc33a2430eca9b877b80563318b400b68d85f92 Mon Sep 17 00:00:00 2001
From: karthikmurakonda
Date: Tue, 30 May 2023 15:00:02 +0530
Subject: [PATCH 10/10] make corrections to pr
---
README.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 21b39b1..5c37318 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ python# CDC - Backend
### Setup
1. Download the Repository to your local machine
-2. Make Sour u have downloaded python from python.org
+2. Make Sure u have downloaded python from python.org or windows store.
3. Create a Virtual Environment in the [CDC_Backend](./) folder with this command below
`python -m venv venv`
3. Activate the environment with this command
@@ -14,14 +14,15 @@ python# CDC - Backend
`pip install -r requirements.txt `
5. Ensure that you have the PostgreSQL installed on your machine and is running on PORT **5432**
6. Make sure to give the correct database credentials in [settings.py](./CDC_Backend/CDC_Backend/settings.py)
-7. Run these following commands ..
-8. cd CDC_Backend
+7. Run these following commands below. (The same are there in setup.sh for linux users and setup.bat for windows users)
+```cd CDC_Backend
python manage.py flush --no-input
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --noinput
mkdir Storage
python manage.py makemigrations APIs
+```
### Running the Application
@@ -40,7 +41,7 @@ python manage.py makemigrations APIs
4. Set up the Username and Password
5. You can log in and change the database values anytime.
6. Create your id as insitute Roll No for both admin and student .
-7.if u are still getting an error ,open inspect and see in network
+7. if you are still getting an error ,open inspect and see in network
And then recognize it
8.Check the client link in dev.env in backend and .env in frontend is the same