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

| 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 rootDocuments/- project documentationSQL/- SQL assets and seed dataPLAN.md- older implementation planning documentrequirements.txt- Python dependenciesdeploy_local.ps1,deploy_local.sh,deploy_prod.sh- deployment helpers
Django project
ByteCraft_Studio/manage.pyByteCraft_Studio/ByteCraft_Studio/- settings, root URLs, ASGI, WSGIByteCraft_Studio/bytecraft/- main applicationByteCraft_Studio/templates/- public, auth, dashboard, and staff templatesByteCraft_Studio/static/- source static assetsByteCraft_Studio/staticfiles/- collected static outputByteCraft_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]
Profilemodel usesbc_core.profiles - [x] automatic profile creation on
Usercreation - [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.sqlexists and includes rich seed data for courses, sections, lessons, reviews, progress, and career applications - [ ]
SQL/DDL.sqlis currently empty, so schema definition is not fully versioned in the repository - [x] project expects a large
bc_coreschema including views likevw_published_courses,vw_published_blogs,vw_featured_instructors, andvw_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.pyandbytecraft/views/dashboard.pyoverlap with newer dashboard staff flows, so staff functionality is somewhat split across legacy and current modules.SQL/DDL.sqlbeing empty is the biggest documentation/schema risk in the repository.staticfiles/is committed alongside sourcestatic/, which may be intentional for deployment but increases repository size/noise.template_structure.htmllooks like a non-core reference/demo template and is not part of the primary app flow.
9. Recommended Next Steps
| 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
Comment (0)
Leave a reply
Please sign in to leave a comment.
No comments yet. Be the first!