Skip to content

georgianastasov/null-ref-academy-restful

Repository files navigation

💻 Null Ref Academy - RESTful based platform for software developers training and learning.

📄 Introduction

There are various sources through which information can be acquired, of great importance, but how this information is provided and presented to the person. This is where the creation of the Null Ref Academy e-learning platform comes in, which is fast and easy to use, has an engaging and efficient user interface. With RESTful architecture, it has high performance, reliability and accurate operation. The platform builds on an already old project (Dev Academy) that covered all the requirements for such an application, and this platform only builds on and improves all the capabilities and functionalities of its predecessor. In addition, runtime, interface, design have been improved and many new features have been added to the platform.

🌟 Functionalities

  • Student Panel: Users can create a student account, sign in, and use the app by enrolling in various courses, reading articles and news, and learning and developing.
  • Teacher Panel: Users can create a teacher account, sign in, and use the app by create their own courses in which to pass on their knowledge to users of the platform, and they can create articles with the latest information. Thay also can reading articles and news, learning and developing, because teachers also learn new things as the students.
  • Administration Panel: Admins, on the other hand, have access to all the possibilities and functionalities of the web training platform. They control the flow of information in the system as well as its users. They control manage, view, create, edit and delete all courses, articles, news, categories, sections and all users.
  • Create Categories: Admins can create categories in which the courses in the platform will be allocated..
  • Create Courses: Admins and teachers can create courses in the category with which to share information and train the students.
  • Create Sections: Admins and teachers can create sections in the course with which to share information to the students.
  • Create Articles: Admins and teachers can also create articles related to software developing, and share them with the community.
  • Create News: Admins can create and share latest news about the IT industry as well as news about the web learning platform.
  • Rate and Review: The community can rate and review the courses and the articles, providing feedback and suggestions.
  • Management: Admins have the ability to manage all the information in the platform about everything that happens in it with the basic crude operations of browsing, creating, updating and deleting.

🌟 Features

  • Search Functionality: The app will provide search functionality, allowing users to search for courses and articles by title.
  • Built-in Chat: The app will provide a custom built-in chat system for communication with AI Bot-driven Q&A support.
  • Comments: The application will be able to allow users - students who use it, not only to rate given courses, articles and news, but also to leave comments under them for opinions, criticisms and necessary information.
  • Tests: The application will be able to provide an opportunity to pass a test at the end of each course, after which, if the test is passed, a certificate can be acquired.
  • Games: Тhe application will provide in each category a section with games that are relevant to the category but which are inquisitive and informative games for users to learn more interactively.
  • Ranking: The application will have a ranking section of the most inquisitive students who have completed courses and read articles and news. The ranking will be based on the number of tests passed and certificates acquired - daily, weekly, monthly and annually.

🔌 How to set up

  1. Clone the repository.

  2. Set up the back-end with Visual Studio.

  3. Connect with local sql server and made migrations for database.

  4. Start the back-end.

  5. Set up the front-end with Visual Studio Code.

  6. npm install for required dependencies.

  7. ng serve for start the front-end layer.

  8. Work with the platform.

🔧 Tools and languages

The platform uses the following technologies:

  • Visual Studio 2022

  • Visual Studio Code

  • SQL Server Management Studio

  • Swagger

  • Postman

  • C ##

  • .NET 6

  • HTML

  • CSS

  • SCSS

  • JavaScript

  • jQuery

  • Angular

  • TypeScript

  • SQL

  • Git

  • Github

  • GitHub Descktop

  • Bash

🎓 Usage

Usage from the perspective of students, teachers and administrators.

Student Panel

  1. Register and login to the application.
  2. Enrollment in various courses.
  3. Grade after finishing a course.
  4. Read articles and news.
  5. Rating of courses, articles and news.
  6. Profile overview and information about the platform and other students.

Teacher Panel

  1. Register and login to the application.
  2. Create courses and share information.
  3. Giving grades to students.
  4. Create articles.
  5. Read articles and news.
  6. Rating of courses, articles and news.
  7. Profile overview and information about the platform about the students and other teachers.

Administrators Panel

  1. Sign in to the app.
  2. View admin panel.
  3. An overview of everything happening on the platform.
  4. Information management.
  5. User management.
  6. Creation of courses, articles and news from the IT sphere and about the platform.

📈 Product perspective

The implemented platform has great potential for future development and improvement with the addition of many engaging and useful functionalities. With the development of e-learning and new technologies, the developed platform will also develop and support. Adding new features will make this kind of software competitive in the market and extremely popular.

🤝 Contributing

Contributions are welcome! Please create a pull request and we'll review it as soon as possible.

✌️ Show your opinion

Give a ⭐ if you like this project!

📝 License

This app is licensed under the MIT License. See the LICENSE file for more information.