This is the backend project three from JR Academy. Objective of this project is to deliver a learning management system for an educational institution
Added AWS based email function Users will receive email upon registration and change password
This is project three from JR Academy We are team RMR101. Objective of the project is to deliver a learning management system for an educational institution.
- Secure log-in with encrypted password and JWT authentication
- AWS document upload and download for handing assignments
Framework:
- Spring Boot
- Maven
Testing:
- Swagger UI
- Jest & Jest-dom
- Testing library
Security:
- JSON Web Token
Clouds:
- AWS S3 & Presigned URL
- AWS SDK
- AWS Simple Email Service
CI/CD:
- Java CI with Maven
- Docker/ Docker Hub
Development:
- Agile (Scrumn)
- Github flow
- Git Clone or download master code to your local drive
- Unzip and open downloaded file in IntelliJ IDEA or your preferred editor
- Start the main application in
src/main/java/com.rmr101.campus/CampusApplication.java
-
pull pre-packed mysql image from command line (Docker login required):
docker pull nkanyang/mysql:admin
-
Start docker image:
docker run -itd --name mysql-campus -p 3306:3306 -e MYSQL_CAMPUS_PASSWORD=123456 nkanyang/mysql:campus-admin
-
login container
docker exec -it mysql-test bash
-
login mysql
mysql -u root -p
input password:
123456
use campus
select * from user;
it should display a campus_id as "admin", now we can log in as admin with password: admin
-
Step1: Start application
-
Step2: Access URL
http://localhost:8080/swagger-ui.html
in your browser
- generate a password reset email to users upon reset password request
- allow multiple teachers to teach one course
- pagination in search results
- add JWT function in SWAGGER UI for easier feature development
- add a long expiry JWT to keep users' login status
- add load balancer
- move from http to https