Skip to content

ahmeddrawy/my-udemy

Repository files navigation

My-udemy

A simple project to practise Node js, express, mongodb and npm packages To contribue check CONTRIBUTING.md

  • To clone
  git clone https://github.com/ahmeddrawy/my-udemy.git
  • install npm packages
  npm install 

npm packages used and workflow

  • I used winston to log the errors and information, If you want to console.log errors you can use winston.log or winston.error

  • I use bcrypt to encrypt passwords before saving to database and decrypting after fetching from database

  • I use Joi package to validate input

  • I use Config package to configure environment variables and configuration

Documentation

First release

  1. Rest Api with a including endpoints to
  • Register user
  • Login user
  • Register Courses
  • delete Courses
  • edit Courses
  • authenticate user to login
  • authorize users to do specific actions for example : Admins only can delete courses
  1. persistent data on mongo db using mongoose ODM

  2. Logging to mongo db and files using Winston Todos

  • add integeration testing

  • add forgot password

  • support sessions and CSRF tokens

  • add front end to project to use API to provide udemy-like Clone

Thanks for @mosh-hamedani for his efforts to support free learning and his content on Youtube