/College_Management_System_Django

This College Management System offers a comprehensive platform developed with Django, PostgreSQL, Docker, Nginx, and Gunicorn, all packaged and ready to deploy. It's fortified with an SSL certificate to ensure secure communication channels.

Primary LanguagePython

Application Overview: APOGEE

APOGEE is an Integrated Management Software (IMS) specifically designed to manage student records and their enrollments.

Key Features

  • Administrative Enrollment: Automatic creation of enrollment forms for students during their re-enrollments.

  • Student Record: Management of administrative data for students, including their curriculum, educational enrollment, address, etc.

  • Internship: Management of internship agreements for students.

  • Knowledge Assessment: Input of grading scales, coefficients, and calculation rules for grades and results.

  • Results: Input of grades, automatic calculation, student ranking, and production of documents such as grade reports, transcripts, and diplomas.

Docker Compose Overview for APOGEE

The docker-compose.yml file is used to orchestrate the various services required to run the APOGEE application. Here is a brief explanation of the services defined in this file:

  • web: The main service that runs the APOGEE application based on Django, served via Gunicorn. It is exposed on port 8000 of the host.

  • db: PostgreSQL database service (version 13) that stores all necessary data for the application, including student records, enrollments, etc.

  • nginx: Nginx web server used as a reverse proxy to redirect requests to the web service and manage SSL connections.

  • letsencrypt: Service for managing SSL certificates, ensuring a secure connection to the application.

Volumes

  • postgres_data: Docker volume used to store PostgreSQL database data to ensure data persistence.

  • letsencrypt: External volume used to store SSL certificates generated by Let's Encrypt.

  • static_volume: Docker volume used to manage the application's static files, ensuring effective and persistent management of the static resources necessary for the application.

Instructions for Running the APOGEE Application with Docker Compose

Prerequisites

Before starting, ensure that Docker and Docker Compose are installed on your system.

Steps to Run the Application

  1. Access the Server:
    Log in to your server using SSH:

    ssh username@your-server-ip

    Enter your password when prompted.

  2. Navigate to the Application Directory:
    Once connected, go to the APOGEE application directory:

    cd /path/to/apogee-prod
  3. Run Docker Compose:
    To build and start the Docker containers, use the following command:

    docker-compose up --build
  4. Stop the Application (if necessary):
    To stop the containers without removing Docker volumes:

    docker-compose stop
  5. Restart the Application (after stopping):
    To restart the containers after stopping them:

    docker-compose start

Accessing the Application

After starting the containers, you can access the APOGEE application via a web browser using your server's IP address and port 8000, for example: http://your-server-ip.

Alternatively, for better security and accessibility, you can use the domain name with SSL to access the application via the following secure URL: https://apogee.twc1.net.

Note

Ensure that all necessary services (web, db, nginx, letsencrypt) are running and accessible before accessing the application via the browser.

Additional Resources

For more information on Docker Compose and Docker, you can refer to the following resources: