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.
- Host: GitHub
- URL: https://github.com/gunjankadu/career-platform
- Owner: GunjanKadu
- Created: 2020-05-14T19:44:42.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-13T18:58:20.000Z (about 6 years ago)
- Last Synced: 2025-02-23T23:28:25.723Z (over 1 year ago)
- Topics: angular9, bootstrap, ci-cd, circleci, electronjs, firebase-hosting, heroku, hibernate-orm, java, observable, postgresql, redux, spring-boot, spring-data-jpa, spring-security, swagger-ui
- Language: TypeScript
- Homepage: https://career-platform-26828.web.app/
- Size: 62.2 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
npm i && ng serve
http://localhost:4200
STEPS TO RUN BACKEND DOCKER IMAGE
docker pull gunjankadu/career-platform:version2
docker image ls
docker run -p 8086:8086 -d --name career-platform-i gunjankadu/career-platform:version2
docker container ls
docker logs -t career-platform-i
http://localhost:8086
http://192.168.99.100:8086/