Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concept #16

Open
Ayshyama opened this issue Oct 2, 2023 · 0 comments
Open

Concept #16

Ayshyama opened this issue Oct 2, 2023 · 0 comments
Assignees

Comments

@Ayshyama
Copy link
Owner

Ayshyama commented Oct 2, 2023

Project Concept: pyio.tech - An Interactive Learning Platform

Objective

To create an interactive educational platform focusing on Python as the primary course, with additional courses that introduce users to Backend and Web Development.

Target Audience

  • Complete beginners, people with some experience.

Features and Functionalities

User Journey

  1. Landing Page: Basic information about the project.
  2. Authentication: Secure registration and login via email/password and OAuth (GitHub/Gmail), resotre password.
  3. User Profile: Display user progress and achievements.
  4. Exercise Page: Theory followed by coding-quizzes and question-assessments, small final projects for each module.

Learning Experience

  1. Gamified learning via a roadmap ("tech tree").
  2. Modules unlock sequentially, starting with basics.
  3. User receives rewards for studying.
  4. Completing modules grants achievements and unlocks new, more complex modules and projects.
  5. Progress Tracking: Offer more detailed analytics in the Dashboard, like time spent on each module, success rate in exercises, etc.
  6. Exercise solutions are validated through ChatGPT API calls.
  7. User have personal expert-mentor through ChatGP API calls.
  8. Feedback System: Allow users to rate and review courses, modules, and exercises. This can be useful for improving content.

Backend Functionalities

  1. Exercise stored in DB and validation is via ChatGPT API.
  2. Storing generated exercises and user progress in a PostgreSQL database.

Technical Stack

Web Development

  • Backend: Django
  • Frontend: HTML, CSS, JavaScript, Ajax(optional)
  • Database: PostgreSQL

Mobile Development (Future)

  • React Native

Best Practices and Documentation (Future)

API Documentation

  • Use tools like Swagger or Postman to document the API endpoints, request/response models.
  • Error Handling: Document how the API behaves when errors occur.

Code Standards

  • Follow PEP 8 for Python and Django's coding style.
  • For JavaScript, follow the Airbnb JavaScript style guide.

Performance Optimization

  • Use Django's built-in query optimization to reduce database load.
  • Implement lazy loading for course modules to improve page load times.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants