Skip to content

A platform that allows instructors to build online courses on their preferred topics and users to buy those courses and start learning.

Notifications You must be signed in to change notification settings

GunjanKadu/Career-Platform

Repository files navigation

CAREER-PLATFORM

A platform that allows instructors to build online courses on their preferred topics and users to buy those courses and start learning.A platform which also allows users to convert themselves into instructor and create their own courses

APPLICATION FEATURES

  • User is able to signUp and login securely using JSON Web Token.
  • User Session persists even after browser reload or close.
  • User is able to change his/her profile info.
  • User is able to change his/her role.
  • User can Register/De-Register For/From a course
  • User(Role of Instructor) can perform CRUD Operation on the courses created.
  • User Can filter courses based on his/her requirements.
  • User can search for a particular course.
  • TECHNICAL FEATURES

        --------------------------------------------------------------------------------
       | Category         | Feature                                                     |
       -------------------|--------------------------------------------------------------
       |REST API          | Richardson Maturity Model - Level 1 (Resources)             |
       |                  | Richardson Maturity Model - Level 2 (HTTP Verbs)            |
       |                  | Richardson Maturity Model - Level 3 (HATEOAS)               |
       |                  | Api Supports Query Filters                                  |
       |                  | Api Supports Query Pagination                               |
       ---------------------------------------------------------------------------------|
       |DATABASE ACCESS   | Data Mapper Pattern                                         |
       |                  | Hibernate ORM 3rd Party Data Mapper                         |
       ---------------------------------------------------------------------------------|         
       |AUTHENTICATION    | Manual User Authentication using JWT                        |
       |                  | User Can Login from Frontend                                |
       |                  | User Can Register from Frontend                             |
       |                  | User Have Different Roles based on login                    |
       |                  | User Can edit profile settings                              |
       ---------------------------------------------------------------------------------|
       |FRONTEND          | MVC Angular                                                 |
       |                  | Frontend Routing                                            |
       |                  | Progressive Web App (No server side rendering)              |
       |                  | Electron Bundling for Desktop support                       |
       |                  | FrontEnd Unit Test                                          |
       ---------------------------------------------------------------------------------|
       |DevOps            | CI/CD Workflow using CircleCI                               |
       |                  | Docker file available for backend(./API)                    |
       |                  | Docker Compose Multi Container Application(./API)           |
       |                  | Backend Available in dockerhub(gunjankadu/career-platform)  |
        --------------------------------------------------------------------------------
    

    TECHNOLOGY STACK

    Component Technology
    Frontend Angular 9
    Backend (REST) SpringBoot (Java)
    Security Token Based (Spring Security and JWT )
    REST Documentation Swagger UI / Springfox and ReDoc
    REST Spec Open API Standard
    DB PostGreSql
    Persistence JPA (Using Spring Data)
    Client Build Tools angular-cli, Webpack, npm
    Server Build Tools Maven(Java) or Gradle

    LIVE AT

    FrontEnd

    BackEnd

    Final Video Presentation

    Docker Image For Backend


    STEPS TO RUN FRONTEND

  • Clone the repo and navigate into the repo
  • npm i && ng serve
    
  • Navigate To
  • http://localhost:4200
    

    STEPS TO RUN BACKEND DOCKER IMAGE

  • Pull The Image From the Docker Hub
  • docker pull gunjankadu/career-platform:version2 
    
  • Check Whether the image is pulled
  • docker image ls
    
  • Run the Image
  • docker run -p 8086:8086 -d --name career-platform-i gunjankadu/career-platform:version2
    
  • Check the container
  • docker container ls 
    
  • Check Logs of the running container
  • docker logs -t career-platform-i
    
  • If the logs are successful Navigate to Local Host
  • http://localhost:8086
    
  • If Application not visible on Local Host 8086 Navigate to
  • http://192.168.99.100:8086/