Skip to content

Latest commit

 

History

History
279 lines (233 loc) · 7.13 KB

README.md

File metadata and controls

279 lines (233 loc) · 7.13 KB

VVnT

Welcome to VVnT, a groundbreaking educational platform that champions inclusivity in IT education. This platform, powered by the seamless integration of React.js, Spring Boot, and MySQL, is dedicated to providing adaptive courses tailored to the needs of IT students with disabilities.

Contact Information

Frontend (React.js):

  1. Inclusive User Interface:

    • An accessible and user-friendly design that accommodates diverse needs, ensuring a seamless experience for all users.
  2. Personalized Learning Paths:

    • Tailored learning experiences that adapt to individual preferences, creating an environment where every student can thrive.

Backend (Spring Boot):

  1. Secure User Authentication:
    • Implementing robust authentication methods and customizable authorization levels to protect user data and maintain a safe learning environment.

Database (MySQL):

  1. Efficient Student Profile Management:

    • A well-structured relational database managing student profiles, course enrollments, and personalized learning plans.
  2. Scalability and Performance Optimization:

    • Optimizing database queries and indexing for improved performance as the platform expands.

Key Features:

  1. VVnT Course Catalog:

    • A diverse catalog of IT courses, featuring adaptive learning materials that cater to various learning styles and preferences.
  2. Assistive Technologies Integration:

    • Seamless integration with assistive technologies, making the learning experience more accessible for students with disabilities.
  3. Engaging Interactive Assessments:

    • Assessments with various formats to support diverse methods of understanding and evaluation.
  4. Admin Dashboard:

    • An administrative dashboard for managing courses, user accounts, and monitoring overall platform engagement.

Technologies Used:

  • Frontend: React.js, JavaScript, CSS
  • Backend: Spring Boot (Java)
  • Database: MySQL
  • API Communication: RESTful API

VVnT is not just an educational platform; it's a community that believes in the power of inclusivity and accessibility. Dive into the source code to witness the synergistic integration of React.js, Spring Boot, and MySQL, creating a space where IT students of all abilities can excel. For inquiries or feedback, feel free to reach out – let's make education accessible to everyone!

VVnT API Documentation

Welcome to the VVnT API documentation, showcasing the innovative backend code developed by Saurabh Maurya for VVnT Organization. Powered by SpringBoot, this code reflects precision and excellence, offering a seamless and robust experience. Dive into the realm of VVnT and witness Saurabh Maurya's vision, where every line of code signifies dedication, brilliance, and a commitment to unparalleled performance.

API Documentation External Docs

For additional information, please refer to our external documentation.

API Base URL

http://vvnt.up.railway.app - Generated server URL.

Table of Contents

  1. UserController
  2. AuthController

UserController

Get Single User by UserId

  • Endpoint: /users/{userId}
  • Method: GET
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      // UserDto details
    }

Update User

  • Endpoint: /users/{userId}
  • Method: PUT
  • Parameters:
    • {userId}: User ID (String)
  • Request Body:
    {
      // UserDto details
    }
  • Response:
    {
      // Updated UserDto details
    }

Delete User

  • Endpoint: /users/{userId}
  • Method: DELETE
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      "message": "User deleted successfully",
      "success": true,
      "status": "200 OK"
    }

Get All Users

  • Endpoint: /users
  • Method: GET
  • Parameters:
    • pageNumber (Optional): Page number (Integer, default: 0)
    • pageSize (Optional): Page size (Integer, default: 10)
    • sortBy (Optional): Sort field (String, default: "name")
    • sortDir (Optional): Sort direction (String, default: "asc")
  • Response:
    {
      // PageableResponseUserDto details
    }

Create New User

  • Endpoint: /users
  • Method: POST
  • Request Body:
    {
      // UserDto details
    }
  • Response:
    {
      // New UserDto details
    }

Serve User Image

  • Endpoint: /users/image/{userId}
  • Method: GET
  • Parameters:
    • {userId}: User ID (String)
  • Response:
    {
      // User image details
    }

Upload User Image

  • Endpoint: /users/image/{userId}
  • Method: POST
  • Parameters:
    • {userId}: User ID (String)
  • Request Body:
    {
      "userImage": "base64EncodedImage"
    }
  • Response:
    {
      // ImageResponse details
    }

Search Users

  • Endpoint: /users/search/{keywords}
  • Method: GET
  • Parameters:
    • {keywords}: Search keywords (String)
    • pageNumber (Optional): Page number (Integer, default: 0)
    • pageSize (Optional): Page size (Integer, default: 10)
    • sortBy (Optional): Sort field (String, default: "name")
    • sortDir (Optional): Sort direction (String, default: "asc")
  • Response:
    {
      // PageableResponseUserDto details
    }

Get User by Email

  • Endpoint: /users/email/{email}
  • Method: GET
  • Parameters:
    • {email}: User email (String)
  • Response:
    {
      // UserDto details
    }

Get Current User

  • Endpoint: /auth/current
  • Method: GET
  • Response:
    {
      // UserDto details
    }

AuthController

Login

  • Endpoint: /auth/login
  • Method: POST
  • Request Body:
    {
      "email": "[email protected]",
      "password": "password123"
    }
  • Response:
    {
      "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        // UserDto details
      }
    }
  • Security: Bearer Token (JWT)

Login with Google

  • Endpoint: /auth/google
  • Method: POST
  • Request Body:
    {
      // Google Sign-In response
    }
  • Response:
    {
      "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "user": {
        // UserDto details
      }
    }
  • Security: Bearer Token (JWT)