An open API service indexing awesome lists of open source software.

https://github.com/gunjankadu/career-platform

A platform that allows instructors to build online courses on their preferred topics and users to buy those courses and start learning.
https://github.com/gunjankadu/career-platform

angular9 bootstrap ci-cd circleci electronjs firebase-hosting heroku hibernate-orm java observable postgresql redux spring-boot spring-data-jpa spring-security swagger-ui

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

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](https://github.com/angular/angular)
    Backend (REST) | [SpringBoot](https://projects.spring.io/spring-boot) (Java)
    Security | Token Based (Spring Security and [JWT](https://github.com/auth0/java-jwt) )
    REST Documentation| [Swagger UI / Springfox](https://github.com/springfox/springfox) and [ReDoc](https://github.com/Rebilly/ReDoc)
    REST Spec | [Open API Standard](https://www.openapis.org/)
    DB | PostGreSql
    Persistence | JPA (Using Spring Data)
    Client Build Tools| [angular-cli](https://github.com/angular/angular-cli), Webpack, npm
    Server Build Tools| Maven(Java) or Gradle


    LIVE AT


    [FrontEnd](https://career-platform-26828.web.app/)

    [BackEnd](https://career-platform.herokuapp.com/swagger-ui.html)

    [Final Video Presentation](https://drive.google.com/drive/folders/1WV2SRrCf9_wt3u5kHyjIu64mPL6MGe0O?usp=sharing)

    [Docker Image For Backend](https://hub.docker.com/repository/docker/gunjankadu/career-platform)



    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/