Node.js, Express, Webpack, Express Validator, JWT, Bunyan, Promise MySQL, Node Mailer, Jest, Supertest, Nodemon, DB Migrate
-
Install npm packages
npm install
-
Uncomment volumes in the
docker-compose.yml
file -
Access via
http://localhost/api
https://db-migrate.readthedocs.io/en/latest/
- GET
/
- Frontend
- POST
/user/login
: Process user login - POST
/user/register
: Register new user and send a confirmation email to the user - GET
/user/register-confirm
: Verify an email confirmation link and complete user registration, then redirect to the frontend page - POST
/user/password-reset-request
: Send an email which includes password reset link - POST
/user/password-reset-verify
: Verify a password reset link and redirect to the password reset page - POST
/user/password-reset
: Update new password - GET
/me
: Return login user's information - POST
/me
: Update login user's information
- POST
- Backend
- POST
/staff/login
: Process staff login - GET
/user
: Retrieve list of users - POST
/user
: Create new user - GET
/user/1
: Get user information - PATCH
/user/1
: Update user information - DELETE
/user/1
: Delete user - GET
/staff
: Retrieve list of staffs - POST
/staff
: Create new staff - GET
/staff/1
: Get staff information - PATCH
/staff/1
: Update staff information - DELETE
/staff/1
: Delete staff information - GET
/permission
: Retrieve list of permissions - GET
/setting
: Retrieve list of settings - POST
/setting
: Create new setting - GET
/setting/1
: Get setting information - PATCH
/setting/1
: Update setting information - DELETE
/setting/1
: Delete setting information
- POST
- Database migration
- Frontend
- User registration
- Confirm user's email address
- Reset user's password
- User login/logout
- Backend
- Staff Login/Logout
- Permission based routes
- Manage login user information
- Manage staff (role>=50) with permission
- Manage user (role=1)
- Manage settings
- Administrator: 99
- Staff: 50
- User: 1
- Add pagination to list
- Unit test
- E2E test
- File uploader
- Add Swagger