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.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.
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
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:Once activated, your terminal prompt will be prefixed with
(venv).Install Dependencies
The portal requires Django and Pillow. Pillow is needed because the
Profile model uses Django’s ImageField to handle profile picture uploads:Apply Database Migrations
Django ships with a built-in migration system. Run You should see output confirming that each migration has been applied. A
migrate to create all tables — including the three custom apps (users, internships, applications) — in the local SQLite database:db.sqlite3 file will appear in the project root.Create a Superuser (Recommended)
Creating a superuser account gives you access to the Django admin panel at Follow the prompts to set a username, email address, and password. This step is optional but highly recommended while exploring the application.
/admin/, where you can inspect and manage every model directly:Start the Development Server
Launch Django’s built-in development server on the default port The terminal will confirm the server is running:
8000:Register Your First User
Open your browser and navigate to the registration page: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.