Baza Wiedzy - Project Brief About Baza Wiedzy It is a free and open-source educational platform with online courses and articles about computer science. The main goal is to prepare V LO students for the matura exam, but the content shall not be limited to that. Among many things, we plan to include articles about graph theory and other competitive programming topics. Definitions ● Article - An article is a single unit of knowledge, it should include the following information: Title, Tags, Lead, Author, Creation Date, Estimated Reading Time, and Content with all of its embedded extensions including Bajton problem or contest links. The users should also be able to like the article and in the future report mistakes. ● Course - It is a group of articles, which includes the following information: Author, The Estimated Completion Time, a Short description of the course, a Table of contents in a form of a list visible while reading an article (on the left), and a Thumbnail, moreover the user should see their progress in the form of course completion percentage. ● Embedded Extension - It is a markdown plugin that renders in a special way, for example, it could be a quiz or an interactive graph illustration. Navigation Flow At the top of the page resides a navbar that contains the logo on the left and the username and avatar on the right. Clicking on the user's avatar should open a dropdown menu, with the following options: Go to Bajton, Management (Admins only), Statistics, Log out The user lands on a home page that includes some statistics (to be decided on later, create some rectangular containers for them), current courses (Thumbnail and a progress bar), recommended articles, and a search component, probably somewhere on top, there should also be some sort of a matura section with related courses and articles. Depending on what is clicked, the following action should occur. ● ● ● ● Statistics - Navigate to the statistics page (to be designed) Course - Open the last article the user has read Article - Open the article page Search bar - Allow the user to search for an article or a course by the name or the tag. Dashboard The main page of the dashboard should display some basic statistics and in future recent reports, the left side should feature a menu panel where the administrator can navigate to the following pages: Articles, Courses, Reports (In the future), and Settings. The articles page allows the administrator to search existing articles (not in a course), and edit or add them. The courses page allows the administrator to add or edit courses, and articles that are a part of them. The report page displays a list of reports and lets the administrator resolve the issue by editing an article and marking it as retouched. The settings page is a collection of various settings accessible by the administrator. Footer It should be at the very bottom of the page, and contain the following information: Name of the project (Baza Wiedzy), Copyright, and a GitHub link to our project (it can be just an icon). Design Guidelines The page should have a dark and a light mode, and a switch that lets the user choose the desired variant, the way the rest of the page behaves. The design we are looking for is a simple and modern one with curved borders. Something along the lines of the original Baza Wiedzy (at the end of its lifespan), updated to meet the current trends, and with changed colors and fonts. Other references: ● ● ● ● Supabase page Chakra UI docs Tailwind docs (without the gradient) ViteJs.dev