Code Monkey home page Code Monkey logo

danieljancar / chorizo Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 4.38 MB

A versatile, firebase hosted, open-source platform for interactive course management and learning experiences. Tailored for small-group instruction across various disciplines.

License: MIT License

HTML 20.67% TypeScript 74.37% SCSS 4.69% JavaScript 0.28%
angular chorizo e-learning education-platform firebase learning-management-system remote-learning self-hosted chorizo-learning

chorizo's Introduction

Hey There!

I'm a passionate developer and tech enthusiast. I love to learn new things, work with tech and help out where I can. Beyond technical stuff, I love to socialise with people, go out with friends and enjoy life.

๐ŸŒ Languages Spoken

drawing drawing drawing drawing drawing drawing

๐Ÿ”ฅ My Stats

Top Langs

๐Ÿ› ๏ธ Skills & Technologies

  • Languages: Typescript, Javascript, Java, C#
  • Frameworks: Angular, NestJS, Ionic
  • Tools: Docker, Git, Github Actions
  • Database: MongoDB, MySQL, Redis, SQLite, Firebase
  • Security: Authentication, JWT, Cookies
  • Misc: KISS, Single Responsibility, Open/Closed, Docs, iOS / Android Knowledge

๐Ÿ“š Learning & Growing

  • Currently learning: Go
  • Exploring: CI/CD, Cyber Security and Quantum Computing

๐Ÿ“ˆ GitHub Analytics

Daniel's GitHub stats

๐Ÿค Socials


"Everybody should learn to program a computer because it teaches you how to think." โ€“ Steve Jobs

chorizo's People

Contributors

danieljancar avatar dependabot[bot] avatar kunzrobert avatar valeriaxxx avatar

Stargazers

 avatar

Watchers

 avatar

chorizo's Issues

Create course introduction page

Description

Create the course introduction page on path /c/:courseId/ which display the introduction subcollection of a course, also general info, if private, the members participating in the course and so on.

  • Package: course

Implement breadcrumb navigation

Implement breadcrumb navigation

Description

Implement a responsive breadcrumb navigation bar that adapts to different screen sizes as depicted in the provided design mockups. Ensure that the breadcrumb subnavigation is clear and follows a logical hierarchy for easy user navigation.

Requirements:

-Large Screens: Display the full breadcrumb trail (Your Title / Course Title / Home /) with ample spacing.

-Medium Screens: Show a more condensed version of the breadcrumb (Your Title / Course Title / Home /).

-Small Screens: Minimize the breadcrumb to the most essential elements (Course Title / Home /).

  • Package: course

Additional Information

Figma Mockups: Responsive Navigation
Ensure the navigation is accessible and follows best practices for usability.

Improve markdown rendering on homepage

Description

The homepage markdown, defined by the administrator, works halfway through - we need to make code rendering and line breaks easier by reading the straight from a markdown (single string) format.

  • Package: course

Expected Behavior

I want to be able to define code, line breaks, etc. more easier.

Actual Behavior

Line breaks, code formatting, etc. doesn't work since line breaks aren't read correctly, because firebase saves the general/main.markdown as a single string.

Create main pages

Description

Create the main needed pages/components and routing configuration for developing new shared components.

  • Package: course

Pages

  • Courses overview
  • Course detail

Gap between text on the homepage missing

Gap between text on the homepage missing

On the homepage there is a section, which displays the features of chorizo. But after these features there is a gap missing and the text seems to be too close together. In the screenshot you will see what exactly I mean

  • Package: Course

Additional Information

Screenshot of the missing space:

Gap between text on the homepage missing space:

image

Add @defer loading for loading timeout

Description

Add a way, incase no course is found in the search or in general, to display "Nothing found here" using feedback-message component. The component should be displayed after a certain time 5000ms or similar of loading with the @defer method (https://angular.dev/guide/defer#defer).

  • Package: course

Expected Behavior

When searching for a course in the course overview, but nothing is found, display a feedback/error message to the user after a certain amount of loading time with loading-bars component using the feedback-message component.

Actual Behavior

It loads for an infinite amount of time with the loading-bars component.

Possible Fix

Use @defer function from angular (link above) and the feedback-message component.

Define general course types

Description

We need to define our data structure in firebase and appropriate types in course and adminui package

  • Package: course, adminui

Additional Information

Let's discuss this in a meeting! ๐Ÿ˜ƒ

Create responsive navbar

Implement responsive navbar

Description

Implement a responsive navigation bar similar to the provided design mockups. The navbar should adapt to three different breakpoints: large, medium, and small.

Requirements:

  • Large Screens: Display the full navigation bar with course title and navigation links.

  • Medium Screens: Show a collapsible menu icon and centralize essential icons.

  • Small Screens: Prioritize menu icon and essential features, hide secondary items.

  • Package: course

Additional Information

Figma Mockups: Responsive Navbar Design
Ensure the navbar is accessible and follows best practices for usability.

Make menu's disappear on interaction

Description

When using any menu on smaller screens or the sort function on courses overview, the menu doesn't disappear when clicking on one of the items in the menu or selecting a new sort order.

image
  • Package: course

Expected Behavior

When clicking on the menu hamburger icon or one of the items, the menu should disappear.

Actual Behavior

The menu only disappears when clicking on content, not of the relevant dropdown component.

Possible Fix

Create a script or add a new styles tag on the dropdown div

Additional Information

You will probably find the relevant fix on https://daisyui.com

Fix searchbar inconsistency

Searchbar in the courses tab is inconsistent

when trying to search for a course, you have to type the whole name of the course instead of being able to type any part of the course name

  • Package: Course

Expected Behavior

If you type a part of the name of a course, it should find the course with the coresponding part in its name

Actual Behavior

You have to type the whole name of the course

Improve latest courses on homepage

Description

We need to add a link, to the appropriate course route and improve layout and add additional fields like createdAt date with DatePipe

  • Package: course

Logout button has a wrong Label

Logout button in course detail has a wrong label

In Course detail the logout button has the label "Button" which is wrong

  • Package: Course

Expected Behavior

The button should have the label "Logout"

Actual Behavior

The button has the label "Button"

Define Actions for Pull Requests

Description

Define needed github actions / workflows for pull requests code checking, etc. E.g. linting, formatting, deploy, CI/CD

  • Package: architecture

Create course detail navbar

Description

We need to have a more detailed and easy to access navbar in the course itself. Routes: Introduction, Agenda, Tasks, Resources, ...

  • Package: course

Create legal section

Description

We need to create the legal section with routes like /l/terms, /l/privacy, etc. The content of this files should either come from the admin itself (collection: legal with custom document id's like privacy) or our predefined general legal files.

  • Package: course

Expected Behavior

There's a overview page on /l about all the important legal documents (privacy, terms, cookies, rules, ...) and the detail view of each of those files, dynamically generated, with either getting the documents content from Firebase based on the custom id in legal collection, if empty, use our predefined general legal documents.

Actual Behavior

none

Additional Information

Make sure to display the files / and get the files dynamically from firebase to ensure best code practices. Create a legal.service.ts, etc.

Create homepage markdown renderer

Description

  • Package: course

Expected Behavior

The course admin can define a homepage description (which should be a longer string) with markdown rendering which will dynamically be displayed/rendered to html on the root of the website.

Actual Behavior

none

Suggestion

We will need a markdown renderer to render the markdown format to HTML and we will get the document from firebase general/main.description document. Markdown renderer package https://www.npmjs.com/package/ngx-markdown

Already implemented it similar over here: https://github.com/danieljancar/portfolio/blob/develop/src/app/features/blog/blog-detail/blog-markdown-renderer/blog-markdown-renderer.component.ts

Links in course detail not working and wrong label

Links in course detail not working and wrong label

In course detail in the navigation bar the links/ routes have the wrong label, and if you click on them they don't redirect you to the coresponding page

  • Package: Course

Expected Behavior

The links should have the correct Label, and redirect you to the coresponding page

Actual Behavior

The Links have the wrong label, and don't redirect you anywhere

Additional Information

image

Add route guard for course detail sections

Description

Add a route guard which protects the routing to sections, if they're disabled in the course's settings and the user tries to manually navigate to it, even tho it's not shown in the course navbar.

  • Package: course

Create courses overview

Description

We need to create a courses overview in c/ path with multiple options like sort, order, search, etc.

  • Package: course

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.