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
--------------------------------------------------------------------------------
| 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) |
--------------------------------------------------------------------------------
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 |
npm i && ng serve
http://localhost:4200
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/