The application is using the below technologies:
- Webpack - for building and bundling
- Babel.js - for using ES6 features, compiling JSX, etc.
- React - for building the client-side app and components
- React Router - for client-side (browser) routing
- Bootstrap and [React-Bootstrap] - for UI
- axios - for HTTP requests
- ESLint - for ES6 linting and best practices
You need to have node.js installed. For development I used node version 8.11.3
and npm version 6.4.0
, but you can use any node/npm version you want. When you are ready, you can install all dependencies and run the development servers by typing the below commands:
npm install
npm run api
npm start
open http://localhost:8080
Build the app:
npm run build
This command will create a dist
directory with the generated index.html
file and the bundled JS file (bundle.js
).
Lint all js/jsx files:
npm run lint
Auto-fix linting issues:
npm run lint:fix
The dashbord page must contain:
- Code.Hub's stats (students, courses, instructors and events)
- a list with the last 5 courses
- every course must have a link that leads to the course details page
- a link that leads to the courses page
The courses page must contain:
- all the available courses
- every course must have a link that leads to the course details page
The course details page must contain:
- all the details of the course
- all the course instructors
- an edit button that will edit the current course (edit the course inline or in another page)
- a delete button that will delete the current course
The add new course page must contain:
- a form with the appropriate course fields
- a submit button that posts the data correctly