Skip to content

Commit 808fac1

Browse files
committed
Django
1 parent 17aa930 commit 808fac1

File tree

4,076 files changed

+521565
-3143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,076 files changed

+521565
-3143
lines changed
-6 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
<h1 align="center">Django Job Portal</h1>
2+
3+
## Table of Content
4+
- [Project Structure](#project-structure)
5+
- [Design Choices](#design-choices)
6+
- [Assumptions](#assumptions)
7+
- [Limitations](#limitations)
8+
- [Steps](#steps)
9+
- [Employer](#employer)
10+
- [Admin](#admin)
11+
- [Applicants](#applicants)
12+
13+
## Project Structure
14+
15+
```bash
16+
< PROJECT ROOT >
17+
|
18+
|-- account/
19+
| |-- admin.py
20+
| |-- apps.py
21+
| |-- forms.py
22+
| |-- managers.py
23+
| |-- models.py
24+
| |-- urls.py
25+
| |-- views.py
26+
|
27+
|-- job/
28+
| |-- asgi.py
29+
| |-- settings.py
30+
| |-- urls.py
31+
| |-- wsgi.py
32+
|
33+
|-- jobapp/
34+
| |-- admin.py
35+
| |-- apps.py
36+
| |-- forms.py
37+
| |-- managers.py
38+
| |-- models.py
39+
| |-- urls.py
40+
| |-- views.py
41+
| |
42+
|-- static/
43+
| |-- <bs4, css, JS, images>
44+
| |
45+
|-- templates/
46+
| |-- account/
47+
| | |-- employee-edit-profile.html
48+
| | |-- employee-registration.html
49+
| | |-- employer-registration.html
50+
| | |-- login.html
51+
| |
52+
| |-- jobapp/
53+
| | |-- all-applicants.html
54+
| | |-- applicant-details.html
55+
| | |-- dashboard.html
56+
| | |-- employee-edit-profile.html
57+
| | |-- index.html
58+
| | |-- job-edit.html
59+
| | |-- job-list.html
60+
| | |-- job-single.html
61+
| | |-- paginator.html
62+
| | |-- post-job.html
63+
| | |-- result.html
64+
| | |-- search.html
65+
| |
66+
| |-- base.html
67+
| |-- footer.html
68+
| |-- head.html
69+
| |-- header.html
70+
| |-- messages.html
71+
| |-- scripts.html
72+
|
73+
|-- requirements.txt
74+
|
75+
|-- manage.py
76+
|
77+
|-- ************************************************************************
78+
```
79+
## Design Choices
80+
The system is a job portal that allows employees to search for available jobs, apply for said jobs, while employers on the other hand, posts an opening.
81+
The job portal system provides a platform for employees to efficiently search and apply for available job openings, while employers can conveniently post their job vacancies. The system facilitates efficient job search and application processes for employees while providing employers with a streamlined approach to managing job postings and applications.
82+
83+
The system encompasses essential data models such as Category, Job, Applicant, and BookmarkJob, enabling seamless Create, Read, Update, and Delete (CRUD) operations. It leverages a variety of tools and technologies, including Python as the primary programming language, Django as the robust web framework, HTML for creating the fundamental structure of the system, and CSS for visually enhancing its appearance.
84+
85+
## Assumptions
86+
<ul>
87+
<li>The system assumes there are only three types of employement status which are full-time, part-time, and internship.</li>
88+
<li>It assumes that there will only be two types of users which are employer, employee and admin.</li>
89+
<li>Employer will add job vacancies, admin approve the job to be displayed, and employee can view and apply for the job.</li>
90+
</ul>
91+
92+
## Limitations
93+
<ul>
94+
<li>The system may not be suitable to support large number of users as it could have limitations in terms of scalability.</li>
95+
<li>It may not fulfill specific requirements of every company as some might have different approach in hiring employees.</li>
96+
<li>The system may not have the flexibility in terms of customization in order to completely adapt to a specific needs of a particular company.</li>
97+
</ul>
98+
99+
## Steps
100+
### Employer
101+
Employer can add job vacancies. Each job vacancy added must be publish by admin before employee can view and or applicants apply the job.
102+
103+
1. Employer must firstly sign up and sign in as employer. Below is the landing page for employer after signing in.
104+
105+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-dashboard-2020-05-08-17_01_07.png)
106+
107+
2. Employer can post a job by filling in job and company details.
108+
109+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-job-create-2020-05-08-17_00_46.png)
110+
111+
3. Employer can view all jobs that they posted in Dashboard.
112+
113+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-dashboard-2020-05-08-17_01_07.png)
114+
115+
4. Employer view applicants.
116+
117+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-dashboard-employer-job-54-applicants-2020-05-08-17_01_34.png)
118+
119+
### Admin
120+
Admin will publish job listed by employer so that applicants can view and apply.
121+
122+
1. Admin sign up at the command prompt by running the code below.
123+
``` ruby
124+
python manage.py createsuperuser
125+
```
126+
127+
2. Details needed in cmd to create an admin are email and password.
128+
129+
3. Admin login and access django admin page.
130+
131+
![Settings Window](https://github.com/drshahizan/learn-django/blob/main/materials/assignment/submission/Noctua/image/adminjobs.png)
132+
133+
4. Admin publish job.
134+
135+
![Settings Window](https://github.com/drshahizan/learn-django/blob/main/materials/assignment/submission/Noctua/image/adminjobs.png)
136+
137+
### Applicants
138+
Employee/applicants can see the list of jobs offer and apply.
139+
140+
1. Job published can be view by both employee and employer.
141+
142+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-jobs-2020-05-08-17_40_01.png)
143+
144+
2. Employee can see the job description and apply from here.
145+
146+
![Settings Window](https://raw.github.com/Sany07/Django-Job-Portal/master/screenshots/screencapture-127-0-0-1-8000-job-79-2020-05-08-16_59_55.png)
147+
148+
149+
<div align="center">
150+
<h3>========Thank You=========</h3>
151+
</div>
152+
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
2+
# Created by https://www.gitignore.io/api/django,virtualenv,visualstudiocode
3+
# Edit at https://www.gitignore.io/?templates=django,virtualenv,visualstudiocode
4+
5+
### Django ###
6+
*.log
7+
*.pot
8+
*.pyc
9+
__pycache__/
10+
local_settings.py
11+
db.sqlite3
12+
db.sqlite3-journal
13+
media
14+
15+
# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
16+
# in your Git repository. Update and uncomment the following line accordingly.
17+
# <django-project-name>/staticfiles/
18+
19+
### Django.Python Stack ###
20+
# Byte-compiled / optimized / DLL files
21+
*.py[cod]
22+
*$py.class
23+
24+
# C extensions
25+
*.so
26+
27+
# Distribution / packaging
28+
.Python
29+
build/
30+
develop-eggs/
31+
dist/
32+
downloads/
33+
eggs/
34+
.eggs/
35+
lib/
36+
lib64/
37+
parts/
38+
sdist/
39+
var/
40+
wheels/
41+
pip-wheel-metadata/
42+
share/python-wheels/
43+
*.egg-info/
44+
.installed.cfg
45+
*.egg
46+
MANIFEST
47+
48+
# PyInstaller
49+
# Usually these files are written by a python script from a template
50+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
51+
*.manifest
52+
*.spec
53+
54+
# Installer logs
55+
pip-log.txt
56+
pip-delete-this-directory.txt
57+
58+
# Unit test / coverage reports
59+
htmlcov/
60+
.tox/
61+
.nox/
62+
.coverage
63+
.coverage.*
64+
.cache
65+
nosetests.xml
66+
coverage.xml
67+
*.cover
68+
.hypothesis/
69+
.pytest_cache/
70+
71+
# Translations
72+
*.mo
73+
74+
# Scrapy stuff:
75+
.scrapy
76+
77+
# Sphinx documentation
78+
docs/_build/
79+
80+
# PyBuilder
81+
target/
82+
83+
# pyenv
84+
.python-version
85+
86+
# pipenv
87+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
88+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
89+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
90+
# install all needed dependencies.
91+
#Pipfile.lock
92+
93+
# celery beat schedule file
94+
celerybeat-schedule
95+
96+
# SageMath parsed files
97+
*.sage.py
98+
99+
# Spyder project settings
100+
.spyderproject
101+
.spyproject
102+
103+
# Rope project settings
104+
.ropeproject
105+
106+
# Mr Developer
107+
.mr.developer.cfg
108+
.project
109+
.pydevproject
110+
111+
# mkdocs documentation
112+
/site
113+
114+
# mypy
115+
.mypy_cache/
116+
.dmypy.json
117+
dmypy.json
118+
119+
# Pyre type checker
120+
.pyre/
121+
122+
### VirtualEnv ###
123+
# Virtualenv
124+
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
125+
pyvenv.cfg
126+
.env
127+
.venv
128+
env/
129+
venv/
130+
ENV/
131+
env.bak/
132+
venv.bak/
133+
pip-selfcheck.json
134+
135+
### VisualStudioCode ###
136+
.vscode/*
137+
!.vscode/settings.json
138+
!.vscode/tasks.json
139+
!.vscode/launch.json
140+
!.vscode/extensions.json
141+
142+
### VisualStudioCode Patch ###
143+
# Ignore all local history of files
144+
.history
145+
146+
# End of https://www.gitignore.io/api/django,virtualenv,visualstudiocode
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: gunicorn job.wsgi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Job Portal
2+
Django Job Portal.
3+
4+
5+
## Installation
6+
7+
```
8+
open terminal and type
9+
https://github.com/Sany07/Job-Portal.git
10+
11+
or simply download using the url below
12+
https://github.com/Sany07/Job-Portal.git
13+
```
14+
15+
## Install requirements
16+
17+
```
18+
pip install -r requirements.txt
19+
```
20+
## Database
21+
22+
```
23+
Set the database from settings.py
24+
```
25+
26+
## To migrate the database open terminal in project directory and type
27+
```
28+
python manage.py makemigrations
29+
python manage.py migrate
30+
```
31+
32+
## Collects all static files in your apps
33+
34+
```
35+
python manage.py collectstatic
36+
```
37+
38+
## Run the server
39+
```
40+
python manage.py runserver
41+
```
42+
43+
44+
45+
<div align="center">
46+
<h3>========Thank You=========</h3>
47+
</div>
48+

0 commit comments

Comments
 (0)