Skip to content

Latest commit

 

History

History
176 lines (118 loc) · 7.66 KB

readme.md

File metadata and controls

176 lines (118 loc) · 7.66 KB

Soft Academy

"Soft Academy" is an online platform designed for students and learners interested in studying software engineering. The goal is to make it easy and accessible for future learners to choose their software learning path, create a pleasant and non-intrusive learning experience, and ignite a passion for programming. Description of the project.

Visit the live site: Soft Academy

Admin - email: [email protected] password:123456

Technologies Used

  • React/Vite: A JavaScript library for building user interfaces.
  • Material-UI: A popular React UI framework implementing Google's Material Design.
  • react-redux: The official, opinionated, batteries-included toolset for efficient Redux development.
  • Fire-base: Providing a real-time database service.
  • React Router DOM: Declarative routing for React.js.

React/Vite Material-UI react-redux Firebase SoftUni Practice Server React Router DOM Emailjs browser Bootstrap Vitest/Jest heruko

Table of Contents

  1. Soft Academy
  2. Technologies Used
  3. Features
  4. Installation and Running the Application
  5. Project Structure
  6. Testing Project
  7. License
  8. Demo

Features

Variety of Courses:

"Soft Academy" offers a diverse range of courses covering various aspects of software engineering. This allows users to choose courses that align with their interests and goals.

Easy Course Selection:

The platform facilitates future learners in selecting suitable courses by providing detailed descriptions and preview options.

User Profile:

Each learner has their user profile, where they can track their activity, progress, and completed courses.

Modern Design:

The platform's design is user-oriented, combining easy navigation with a modern and pleasant interface.

Interactive Learning:

Courses include interactive materials, tasks, and projects that enrich learning and support the practical application of acquired knowledge.

Discussion Forum:

"Soft Academy" provides a dedicated forum for discussions. Learners can engage with peers, instructors, and industry professionals, fostering a collaborative learning environment. The forum allows users to ask questions, share insights, and participate in relevant discussions.

News Blog:

Stay up-to-date with the latest in the tech world through the "Soft Academy" News Blog. Our blog covers a wide range of topics, including industry trends, programming languages, new technologies, and more.

We believe that staying informed is a crucial part of the learning journey, and our News Blog is here to provide valuable insights to the tech enthusiasts within the "Soft Academy" community.

Chat Feature:

Soft Academy understands the importance of quick and easy communication for its users. That's why we offer a dedicated chat feature directly on the platform.

Key Highlights:

  • Real-time Communication: Engage in real-time conversations with other learners, instructors, and support staff.

  • Instant Support: Get quick assistance and support by reaching out to our chat support for any queries or issues.

  • Community Interaction: Connect with fellow learners, discuss course-related topics, and share your experiences.

  • Notification System: Stay informed about new messages and updates through our notification system.

How to Access:

Access the chat feature conveniently from the "Soft Academy" platform. Enjoy seamless communication and enhance your learning experience through instant interactions with the community and support team.

At Soft Academy, we believe that effective communication is key to a successful learning journey, and our chat feature is designed to facilitate just that.

New User Registration

Every new user receives an email with a username, password, and a discount code upon registration. This process ensures a seamless onboarding experience and provides immediate access to the platform's resources.

Profile Picture Storage

User profile pictures are securely stored as files in Firebase. This integration allows for easy upload and retrieval, ensuring that user profiles are always up-to-date and visually engaging.

Installation and Running the Application

  1. Clone the repository.

    git clone https://github.com/bebo13133/SoftAcademy.git
    
  2. Install Dependencies: Open a new terminal window/tab in the root directory of your project. and run:

    npm install
  3. Navigate to Project Directory:

    cd soft-academy
  4. Run client part

    npm install 
    npm run dev
  5. Run servers:

    *Soft Academy has two main servers, and to make it as easy as possible to start them, we have taken care of it. Simply execute the following command in the main directory:

     npm install 
    npm start
    npm start

Project Structure

The project follows a structured organization to enhance maintainability and ease of navigation. Here's a brief overview ofromf the main directories and their purposes:

  • /soft-academy: Contains the frontend application built with React.

    • /public: Static assets and HTML template.

    • /src: React components, styles, and application logic.

  • /server: SoftUni practice Server. Contains the frontend application built with React.

  • /server/src: Houses the backend application built with Node.js and Express.

    • /common: Utility functions and helper modules.

    • /plugins: Configuration files for the server.

    • /service: Controllers handling the business logic.

    • /test: Testing files.

  • /inside-server: Socket.io server. For Chat service.

Feel free to explore each directory for more detailed information on their contents. This structure is designed to enhance code organization, making it easier for developers to locate and work on specific aspects of the application.

Testing Project

Soft Academy has its own tests to ensure a more reliable and secure platform operation. To run them, execute the following command from the main directory :

  npm run test

License:

This project is licensed under the MIT License.

Short Demo and Video

Explore a brief demo of the Soft Academy platform in the following video:

Soft Academy Demo

Click on the image to view the demo.