"Loading Knowledge... Please Wait Wisely!"

Suspendisse interdum consectetur libero id. Fermentum leo vel orci porta non. Euismod viverra nibh cras pulvinar suspen.

project p

Home Blog Tech News
March 30, 2026 Comments Tech News

project p

ByteCraftStudio - Project Plan

Current-state project plan aligned with the repository as of 2026-03-30.
Scope of this document: describe the real project structure, what is completed, what is partial, and what is still missing.


1. Platform Summary

blog 1 2

Item Detail
Product EduTech platform for courses, instructors, enrollments, payments, blogs, events, careers, and role-based dashboards
Backend Django 5.2.x
Database PostgreSQL using bc_core schema plus Django auth tables
Query style Raw SQL for most business/domain data via bytecraft/db.py; Django ORM for auth and Profile
Auth Username/email login plus Google OAuth2 via social-auth-app-django
UI Django templates + Bootstrap-based static assets + custom JS
Languages English and Bangla (LocaleMiddleware, locale/bn)
Timezone Asia/Dhaka
Deployment assets deploy_local.ps1, deploy_local.sh, deploy_prod.sh

2. Current Repository Structure

Root

  • ByteCraft_Studio/ - Django project root
  • Documents/ - project documentation
  • SQL/ - SQL assets and seed data
  • PLAN.md - older implementation planning document
  • requirements.txt - Python dependencies
  • deploy_local.ps1, deploy_local.sh, deploy_prod.sh - deployment helpers

Django project

  • ByteCraft_Studio/manage.py
  • ByteCraft_Studio/ByteCraft_Studio/ - settings, root URLs, ASGI, WSGI
  • ByteCraft_Studio/bytecraft/ - main application
  • ByteCraft_Studio/templates/ - public, auth, dashboard, and staff templates
  • ByteCraft_Studio/static/ - source static assets
  • ByteCraft_Studio/staticfiles/ - collected static output
  • ByteCraft_Studio/locale/ - translation files

Main app modules

Path Purpose
bytecraft/models.py Profile model mapped to bc_core.profiles with signal-based auto creation
bytecraft/forms.py auth, contact, newsletter, and profile edit forms
bytecraft/db.py shared raw SQL helpers
bytecraft/context_processors.py global categories/year/site name context
bytecraft/pipeline.py social-auth profile creation helper
bytecraft/views/public.py public website pages
bytecraft/views/auth.py sign-up, sign-in, sign-out, profile pages
bytecraft/views/api.py AJAX/JSON endpoints
bytecraft/views/payment.py enroll/payment flow
bytecraft/views/dashboard.py student/instructor/staff dashboard overview pages
bytecraft/views/dashboard_instructor.py instructor curriculum, reviews, progress
bytecraft/views/dashboard_staff.py staff CMS/operations dashboard
bytecraft/views/staff.py legacy staff payment/enrollment views
bytecraft/urls/ split URL modules: public, auth, api, payment, staff, dashboard
bytecraft/templatetags/ custom template tags
bytecraft/migrations/ 0001 through 0009

3. Completion Snapshot

Area Status Notes
Core Django setup Complete Settings, static/media, i18n, social auth, split URLs all present
Public website Complete Home, courses, blogs, events, instructors, FAQ, contact, about, privacy, career
Authentication Complete Sign-up, sign-in, sign-out, profile, Google OAuth
Enrollment and payments Complete Enroll flow, coupon validation, payment submit, success, cancel, history
Student dashboard Partial Overview/courses/payments done; learning flow not exposed to students yet
Instructor dashboard Partial Overview/courses/students/reviews/progress/content editing done; lesson delivery not done
Staff dashboard / CMS Strong partial-to-complete Extensive operations and content management implemented
Reviews and comments Complete Blog comments and course reviews implemented; moderation also exists
Career management Partial Staff management and application review exist; public application submission is missing
Notifications / email / bot Not started No password reset, transactional email, in-app notices, or Telegram flow yet
SEO / performance hardening Not started No sitemap, robots, caching, or broader SEO layer found
Security hardening extras Partial Core protections exist; production hardening still incomplete

4. Implemented Features

4.1 Foundation and Architecture - Complete

  • [x] Django project configured with python-decouple
  • [x] PostgreSQL connection from environment variables
  • [x] Profile model uses bc_core.profiles
  • [x] automatic profile creation on User creation
  • [x] English/Bangla localization enabled
  • [x] shared context processor for categories and site metadata
  • [x] raw SQL helper layer in bytecraft/db.py
  • [x] root URL structure split by concern
  • [x] local and production deploy scripts present
  • [x] media and static pipelines configured

4.2 Authentication and User Profile - Complete

  • [x] sign-up with username and unique email validation
  • [x] sign-in using username or email
  • [x] remember-me session support
  • [x] sign-out flow
  • [x] Google OAuth2 login/signup
  • [x] custom social pipeline profile provisioning
  • [x] profile page
  • [x] profile edit page and AJAX save API
  • [x] unique email migration on auth_user

4.3 Public Website - Complete

  • [x] home page with latest courses, featured courses, blogs, events, and featured instructors
  • [x] courses list with category filter and title search
  • [x] course detail with details, sections, lessons, instructors, reviews, rating breakdown, batches, related courses, enrollment/review state
  • [x] blogs list and blog detail
  • [x] blog view count increment
  • [x] threaded blog comments
  • [x] events list and event detail with agenda and speakers
  • [x] instructors list with pagination
  • [x] instructor detail with profile and course list
  • [x] FAQ page with helpful vote API
  • [x] contact page backed by site settings
  • [x] about page backed by site settings and about stats
  • [x] privacy policy backed by page_sections
  • [x] career listing and career detail

4.4 AJAX and APIs - Complete for current scope

  • [x] newsletter subscribe API
  • [x] contact form API
  • [x] coupon validation API
  • [x] FAQ helpful vote API
  • [x] profile edit API
  • [x] blog comment API
  • [x] course review API
  • [x] staff payment action API for verify/reject without reload
  • [x] static image picker API for dashboard forms

4.5 Enrollment and Payment Flow - Complete

  • [x] course enrollment page
  • [x] active batch selection
  • [x] free-course auto-enrollment handling
  • [x] coupon discount support
  • [x] payment submission with atomic payment + enrollment write
  • [x] payment success page
  • [x] student payment history page
  • [x] pending payment cancellation flow
  • [x] supported payment channels: bKash, Nagad, Rocket, Bank, Card, Manual, Other

4.6 Student Dashboard - Partial

  • [x] dashboard role redirect entry point
  • [x] student overview with key stats
  • [x] student enrolled course list
  • [x] student payments list
  • [ ] lesson viewer / continue learning flow
  • [ ] certificate access
  • [ ] student review management page
  • [ ] wishlist
  • [ ] notification center

4.7 Instructor Dashboard - Partial

  • [x] instructor overview
  • [x] instructor courses list
  • [x] instructor students list
  • [x] instructor reviews page
  • [x] instructor course curriculum editor for sections and lessons
  • [x] instructor student progress page using lesson_progress
  • [ ] actual student-facing lesson delivery
  • [ ] instructor earnings/payments breakdown
  • [ ] review replies or richer instructor moderation tools

4.8 Staff Dashboard and CMS - Major functionality implemented

  • [x] staff overview dashboard
  • [x] dashboard payments list with filtering
  • [x] dashboard enrollments list with filtering
  • [x] payment verify/reject actions
  • [x] enrollment status update actions
  • [x] course list, add, edit, toggle, and delete
  • [x] course curriculum editor
  • [x] categories management
  • [x] tags management
  • [x] batches management
  • [x] coupons management
  • [x] course review moderation page
  • [x] blog list and blog form
  • [x] event list and event form
  • [x] careers list and career form
  • [x] staff career application review page
  • [x] FAQs management
  • [x] site settings management
  • [x] about stats management
  • [x] contact messages inbox
  • [x] newsletter subscribers list/deactivation
  • [x] instructors list with featured/verified/active toggles

4.9 Reviews and Community - Complete for current scope

  • [x] approved reviews shown on course detail
  • [x] one review per student per course
  • [x] aggregate rating refresh on review submit
  • [x] staff moderation UI for reviews
  • [x] blog comments with reply support

4.10 Career Applications - Partial

  • [x] career listing page
  • [x] career detail page
  • [x] staff career CRUD
  • [x] staff application status management
  • [ ] public job application form
  • [ ] public application submission endpoint
  • [ ] resume upload pipeline from public site

5. Key URL Surface

Public

  • /
  • /courses/
  • /courses/<id>/
  • /blogs/
  • /blogs/<id>/
  • /events/
  • /events/<id>/
  • /instructors/
  • /instructors/<id>/
  • /contact/
  • /about/
  • /faq/
  • /privacy-policy/
  • /career/
  • /career/<id>/

Auth

  • /sign-in/
  • /sign-up/
  • /sign-out/
  • /profile/
  • /profile/edit/
  • /auth/... for Google OAuth callbacks

Payments

  • /enroll/<course_id>/
  • /payment/submit/
  • /payment/<payment_id>/success/
  • /payment/my/
  • /payment/<payment_id>/cancel/

Dashboards

  • /dashboard/
  • /dashboard/student/...
  • /dashboard/instructor/...
  • /dashboard/staff/...

API

  • /api/newsletter/
  • /api/contact/
  • /api/coupon/validate/
  • /api/faq/<faq_id>/helpful/
  • /api/profile/edit/
  • /api/blogs/<blog_id>/comment/
  • /api/courses/<course_id>/review/
  • /api/payments/<payment_id>/action/
  • /api/static-images/

6. Database and Data Layer Status

Migrations present

  • [x] 0001_initial
  • [x] 0002_add_profile_social_fields
  • [x] 0003_profile_use_bc_core_schema
  • [x] 0004_unique_user_email
  • [x] 0005_cms_tables
  • [x] 0006_fix_blog_newlines
  • [x] 0007_blog_comments
  • [x] 0008_payments_txn_id_unique
  • [x] 0009_enrollments_unique_student_course

Schema/data notes

  • [x] SQL/seed.sql exists and includes rich seed data for courses, sections, lessons, reviews, progress, and career applications
  • [ ] SQL/DDL.sql is currently empty, so schema definition is not fully versioned in the repository
  • [x] project expects a large bc_core schema including views like vw_published_courses, vw_published_blogs, vw_featured_instructors, and vw_active_batches

7. Gaps and Remaining Work

High-priority product gaps

  • [ ] student lesson viewer and course learning experience
  • [ ] lesson completion submission/update flow for students
  • [ ] certificate generation and student certificate page
  • [ ] public career application form and submission flow
  • [ ] password reset flow
  • [ ] email notifications for registration/enrollment/payment verification

Medium-priority product gaps

  • [ ] global search across courses, blogs, instructors, and events
  • [ ] advanced filtering/sorting for catalog pages
  • [ ] instructor earnings analytics
  • [ ] richer student account features like saved courses and notifications
  • [ ] content publishing workflows beyond direct staff editing

Technical/platform gaps

  • [ ] robots.txt
  • [ ] sitemap generation
  • [ ] per-page SEO metadata strategy
  • [ ] caching layer
  • [ ] rate limiting on auth/API endpoints
  • [ ] production SSL/security header enforcement in settings
  • [ ] file upload validation/storage flow for resumes and avatars

8. Known Tech Debt / Observations

  • The staff feature set has outgrown the older plan and is now one of the largest parts of the project.
  • bytecraft/views/staff.py and bytecraft/views/dashboard.py overlap with newer dashboard staff flows, so staff functionality is somewhat split across legacy and current modules.
  • SQL/DDL.sql being empty is the biggest documentation/schema risk in the repository.
  • staticfiles/ is committed alongside source static/, which may be intentional for deployment but increases repository size/noise.
  • template_structure.html looks like a non-core reference/demo template and is not part of the primary app flow.

Priority Item Reason
1 Build student lesson viewer and progress update flow Core learning experience is the main missing user feature
2 Add public career application submission Staff can manage applications, but applicants cannot submit from the site yet
3 Implement password reset and transactional emails Important baseline account/comms functionality
4 Add certificate generation and completion workflow Natural follow-up once lesson progression is exposed
5 Consolidate legacy staff views vs dashboard staff views Reduce maintenance overhead and confusion
6 Version the actual DB schema in SQL/DDL.sql Important for reproducibility and onboarding
7 Add search, SEO, caching, and security hardening Important before broader production rollout

10. Overall Assessment

ByteCraftStudio is no longer an early scaffold. The current repository contains a substantial Django application with a complete public site, working auth and payment flows, multi-role dashboards, curriculum editing, CMS-style staff tools, and moderation workflows.

The biggest gap is not content management anymore; it is the student learning delivery side. In short: admin/staff/instructor operations are already strong, while the learner-side lesson consumption and completion journey is the main unfinished product area.


Last updated: 2026-03-30

Tags:
Flowing:

Comment (0)

  • No comments yet. Be the first!

Leave a reply

Please sign in to leave a comment.

Sign Up today to get the
latest inspiration & insights