Skip to content

changkevin51/OneDojo

Repository files navigation

OneDojo - Dojo Management Portal

OneDojo is a comprehensive web application designed to manage martial arts dojos efficiently. It provides separate portals for students and instructors/administrators. It aims to streamline tasks like attendance tracking, assignment management, progress monitoring, and communication.

image

Student portfolio on the instructor view

Features

Student Portal

  • Dashboard: A brief overview of their activities, progress, and assignments.
  • Progress Tracking: Monitor belt progress, assignment completion, and attendance records. View detailed criteria for the current belt level and improve with monthly progress reports.
  • Assignments: View active and completed assignments, submit work, and view feedback.
  • Assessments: View assessment results and feedback.
  • Calendar: View upcoming events, deadlines, and dojo schedule.
  • Notifications: Receive updates on assignments, feedback, and announcements.

Instructor/Admin Portal

  • Student Management: View student lists per class, access detailed student profiles (progress, attendance, assignments), manage belt levels. All activity is saved in their timeline events.
  • Class Management: Create and edit classes, assign teachers, and manage student enrollments.
  • Attendance Tracking: Take attendance for classes, view historical attendance records, and edit entries.
  • Assignment Management: Post assignments to specific classes or students. View submissions and provide feedback.
  • Feedback Management: Create, manage, and use feedback templates for efficient communication.
  • Progress Report: Send personalized progress reports to students (strengths, weaknesses, next steps)
  • Belt Criteria Management: Define and manage the criteria required for each belt level. Track student progress against these criteria.
  • Calendar Management: Create and manage dojo events, view student/staff birthdays (toggleable), and control event visibility.
  • User Management: Create, view, edit, and delete user accounts (students, teachers, admins). Filter and sort user lists.
  • Dojo Management (Superuser): Create and manage multiple dojos, generate registration links.

Watch a demo of the app:

OneDojo.Demo.mp4

Installation

Follow these steps to set up the project locally:

  1. Clone the repository:
    git clone https://github.com/changkevin51/OneDojo.git
    cd OneDojo
  2. Set up a virtual environment (Recommended):
    python -m venv venv
    # On Windows
    .\venv\Scripts\activate
    # On macOS/Linux
    source venv/bin/activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Apply database migrations:
    python manage.py makemigrations
    python manage.py migrate
  5. Create a superuser account: Follow the prompts to create an administrator account.
    python manage.py createsuperuser
  6. Run the development server:
    python manage.py runserver
  7. Access the application: Open your web browser and go to http://127.0.0.1:8000/.
  8. Access the admin panel: Go to http://127.0.0.1:8000/admin/ and log in with the superuser credentials created in step 5.

(Note: The database (SQLite) is not included in the repository. You need to run the migration commands and create users.)

Credits and Acknowledgements

  • AdminLTE's was used for the development of the app. The default template has been heavily modified to suit the requirements of the app.

  • AI assistance was used to help debug.

About

Sophisticated Dojo Management App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •