Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/unesexact/internship-portal-django/llms.txt

Use this file to discover all available pages before exploring further.

By the end of this guide you will have a fully functional Internship Portal running on your local machine, a superuser account for the Django admin, and at least one registered user — either a Student or a Company — so you can explore every feature the portal offers. The setup requires only Python, pip, and git; no Docker or external database is needed.

Prerequisites

Before you begin, make sure the following tools are available in your terminal:
  • Python 3.10 or later — verify with python --version
  • pip — bundled with Python 3.10+; verify with pip --version
  • git — verify with git --version

Setup Steps

1

Clone the Repository

Download the source code and move into the project directory:
git clone https://github.com/unesexact/internship-portal-django.git
cd internship-portal-django
2

Create and Activate a Virtual Environment

A virtual environment keeps the project’s dependencies isolated from your system Python installation. Create one and activate it:
python -m venv venv
source venv/bin/activate
Once activated, your terminal prompt will be prefixed with (venv).
3

Install Dependencies

The portal requires Django and Pillow. Pillow is needed because the Profile model uses Django’s ImageField to handle profile picture uploads:
pip install django Pillow
4

Apply Database Migrations

Django ships with a built-in migration system. Run migrate to create all tables — including the three custom apps (users, internships, applications) — in the local SQLite database:
python manage.py migrate
You should see output confirming that each migration has been applied. A db.sqlite3 file will appear in the project root.
5

Create a Superuser (Recommended)

Creating a superuser account gives you access to the Django admin panel at /admin/, where you can inspect and manage every model directly:
python manage.py createsuperuser
Follow the prompts to set a username, email address, and password. This step is optional but highly recommended while exploring the application.
6

Start the Development Server

Launch Django’s built-in development server on the default port 8000:
python manage.py runserver
The terminal will confirm the server is running:
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
7

Register Your First User

Open your browser and navigate to the registration page:
http://127.0.0.1:8000/users/register/
Fill in the form and choose either Student or Company as your account type. Registering as a Company lets you post internship listings; registering as a Student lets you browse listings and submit applications. After a successful registration, the portal logs you in automatically and redirects you to your profile page at /users/profile/. Repeat the process in a separate browser session (or an incognito window) to create one of each role for a complete end-to-end test.
Log in with your superuser credentials and visit http://127.0.0.1:8000/admin/ to access the Django admin panel. From there you can inspect all Profile, Internship, Application, and Notification records, manually adjust statuses, and verify that migrations ran correctly — all without writing a single line of code.
The SECRET_KEY baked into config/settings.py is a publicly known insecure value — it begins with django-insecure-. Never deploy the application to a public server using this key. See the Configuration guide for instructions on generating and safely storing a strong secret key before going to production.

Build docs developers (and LLMs) love