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.
- 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.
- 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
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/changkevin51/OneDojo.git cd OneDojo - Set up a virtual environment (Recommended):
python -m venv venv # On Windows .\venv\Scripts\activate # On macOS/Linux source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py makemigrations python manage.py migrate
- Create a superuser account:
Follow the prompts to create an administrator account.
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the application:
Open your web browser and go to
http://127.0.0.1:8000/. - 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.)
-
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.

