Ednormous / CITS3403-Group-Project

This is where the group project begins.
2 stars 0 forks source link

2024 Semester 1 CITS3403 Agile Web Development Project

Members

UWA Student ID Name GitHub Username
23405978 Edward Wang Ednormous
23434755 Wesley Dutton wdATuwa
23401014 Lucca Sidey Lucca-Sidey
23661719 Joshua Trainer Josh-Trainer

Application Overview

Run before running the app.py:

pip install -r requirements.txt or pip3 install -r requirements.txt

The Class Allocation System is a web-based application designed for a tuition center to streamline the process of class management and communication between administrators, tutors, parents, and students. Built using a modern technology stack that includes HTML, CSS, Flask, AJAX, jQuery, and SQLite, the system offers a responsive, secure, and user-friendly platform.

The core functionality of this app is to allow public users to gain an overview of the enterprise and allows registered users to communicate with their dedicated tutors in regards to in-class problems or any homework issues which may arise.

Each user role:

Design and Functionality

The app has three dashboards for the different user roles:

The public dashboard displays enterprise informations, allowing unregistered users to gain an insight on the services offered at Tuition Talks. Users are able to interact with the navigation bar to access different aspects of the dashboard, including the Homepage, About, Contacts, Login and Register pages.

The private dashboard offers a tailored experience for every user. Including displaying different user and forum information for each registered users. They have access to the forums based on their enrollment status. It allows for user - user interactions and past interactions are saved in the database in case users would like to refer back to their previous interactions.

The Administrator dashboard is specific to the administrator from the enterprise. The dashboard allows the administrator view all forum pages, delete any messages, create and delete user accounts as well as enrolling students in their respective units (not yet implemented).

Administrator

Tutor

Student

Future Releases

Application Architecture

Frontend(Client-Side)

Launch Instructions

To run the app, simply enter in the terminal: Set secret key via 'export SECRET_KEY='i_love_agile_web_dev'

python3 app.py or python app.py

Then to go a modern web browser and enter http://127.0.0.1:5000

Test Running Instructions

To test the functionalities of the app, run the following code within the terminal. To run Unit.py

python -m unittest tests/unit.py or Selenium.py python -m unittest tests/selenium.py

References

This project includes code and implementation generated with the assistance of GitHub Copilot, OpenAI's ChatGPT, and Stack Overflow.

Citation: GitHub Copilot. "AI-Powered Code Suggestions." GitHub Copilot, GitHub, 2024. ChatGPT, OpenAI. "Flask Application Development Code Assistance." ChatGPT, OpenAI, 2024. Stack Overflow. "Community-driven Q&A and Code Solutions." Stack Overflow, Stack Exchange Inc., 2024.