- NodeJs
- Express
- BcryptJs for hashing passwords
- EJS as templating engine
- MVC Pattern
- MongoDB and Mongoose
- Session
- Dynamic Routing
- Authentication, validation and Route protection
- CSRF Protection
- Email sending
- Password recovery
- Error Handling
- Multer for file Upload & Invoice Download in PDF using PDFKIT
- Payment using STRIPE (for testing only - no real transtaction)
- Pagination
User can create an account, it will be granted admin privileges so the user can create products and upload files.
If user forgot the password, a request for a new password can be made.
Admin can Create, Edit, Delete his own files but not from others.
User can add products to Cart or remove from it.
When finishing a purchase, user will be prompt to pay (Mock payment using STRIPE)
User can see his orders and download invoices in PDF.
Feel free to send me a message if you have an idea on how to improve this App. Also feel free to contribute!
Thank you fo reading!