School_website

Apex International Academy - School Management Website & System

A complete, production-ready, modern, and responsive School Management Website & Platform built with Python, Flask, Flask-SQLAlchemy, Bootstrap 5, and JavaScript.


๐ŸŒŸ Features & Highlights


๐Ÿ› ๏ธ Technology Stack


๐Ÿ”‘ Demo Account Credentials

Use any of the following pre-seeded accounts to explore role-specific features:

Role Username Password Access Rights
Super Admin superadmin admin123 Full System & Setting Control
Admin admin admin123 Student, Teacher, Fee & CMS Management
Principal principal principal123 Academic Oversight, Reports & Admissions
Teacher teacher_john teacher123 Attendance Marking & Marks Entry
Parent parent_robert parent123 Child Performance, Attendance & Fee Dues
Student student_alex student123 Personal Marks, Timetable & Attendance Log

๐Ÿš€ Quick Setup & Installation Guide

Prerequisites

1. Clone & Enter Project Directory

cd "d:\SANTHOSH\School website"

2. Create & Activate Virtual Environment

Windows (PowerShell):

python -m venv venv
.\venv\Scripts\Activate.ps1

Linux / macOS:

python3 -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure Environment Variables

Copy .env.example to .env:

cp .env.example .env

(Default settings connect automatically to a local SQLite database at instance/school.db)

To use MySQL, edit .env:

DATABASE_URL=mysql+pymysql://username:password@localhost/school_db

5. Run the Application

python run.py

Open your browser and navigate to: http://localhost:5000


๐Ÿงช Running Automated Unit Tests

To run the full unit test suite:

python -m unittest discover tests

๐ŸŒ Production Deployment (Gunicorn & Nginx)

  1. Set FLASK_ENV=production and update SECRET_KEY in .env.
  2. Execute Gunicorn application server:
    gunicorn --bind 0.0.0.0:$PORT "run:app"
    
  3. Configure Nginx as reverse proxy listening on port 80/443 forwarding to http://127.0.0.1:5000.

๐Ÿ“„ License

ยฉ 2026 Apex International Academy. All Rights Reserved.

โš ๏ธ GitHub Pages / GitHub Repository

This is a Flask + Python + database application. GitHub Pages cannot execute the Flask backend. GitHub is used to store the source code; deploy the application to a Python-capable host such as Render, Railway, or PythonAnywhere.

For Render, this repository includes render.yaml, Procfile, and runtime.txt. After connecting the repository, Render can build the app with pip install -r requirements.txt and start it with Gunicorn.

Note: SQLite on many cloud hosts is ephemeral. For persistent production data, use a managed PostgreSQL/MySQL database and set DATABASE_URL.