Documentation

Installation Guide

Attendify — QR-Based Student Attendance System with Flutter and Django

Step-by-step Setup Verified Instructions Chat Support
Back to Project
Complete Guide

Installation Guide

Backend Setup

Prerequisites

Python 3.10 or higher and pip must be installed on your machine.

Step 1 — Create and Activate Virtual Environment

cd attendify_backend
python -m venv venv

On Windows:

venv\Scripts\activate

On macOS or Linux:

source venv/bin/activate

Step 2 — Install Dependencies

pip install -r requirements.txt

Step 3 — Run Migrations

python manage.py migrate

Step 4 — Seed Demo Data

python manage.py seed_data

This command creates one teacher account (teacher1 / teacher123), five student accounts (student1 through student5, all with password student123), one department, three subjects, ten lectures spread over the last twenty days, and randomised attendance records.

Step 5 — Start the Development Server

python manage.py runserver 0.0.0.0:8000

The API is available at http://localhost:8000/api/

Django Admin is available at http://localhost:8000/admin/

Flutter Setup

Prerequisites

Flutter 3.10 or higher. Run flutter --version to check. Android Studio or Xcode is required for emulators.

Step 1 — Install Flutter Dependencies

cd attendify_app
flutter pub get

Step 2 — Add Poppins Font Files

Download the Poppins font family from Google Fonts and place the following TTF files inside attendify_app/assets/fonts/:

  • Poppins-Regular.ttf
  • Poppins-Medium.ttf
  • Poppins-SemiBold.ttf
  • Poppins-Bold.ttf

Also create the images directory:

mkdir -p attendify_app/assets/images

Step 3 — Configure the API Base URL

Open lib/constants/api_constants.dart and set the correct base URL:

// Android emulator
static const String baseUrl = 'http://10.0.2.2:8000/api';

// iOS simulator
static const String baseUrl = 'http://127.0.0.1:8000/api';

// Physical device — replace with your machine's local IP
static const String baseUrl = 'http://192.168.x.x:8000/api';

Step 4 — Add Android Permissions

Open android/app/src/main/AndroidManifest.xml and add the following inside the <manifest> tag:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>

Step 5 — Run the Application

flutter run

Demo Credentials

Role Username Password
Teacher teacher1 teacher123
Student student1 student123
Student student2 student123
Student student3 student123
Student student4 student123
Student student5 student123

Need Help?

Our team is here to assist you with installation and setup.

Chat with Us
Chat with us