Description
This is a student information system for high school students in Association for the Support of Contemporary Living (NGO in Turkey). It is a web application that is used to manage the students, teachers, courses, schedules, exams. It is developed using Java, Spring Boot, Spring Security, Angular, MySQL
Installation
You can use the source code to build Java and Angular applications separately or you can pull the docker images of the repository to run the application.
git clone https://github.com/mharikmert/education-portal
docker pull ghcr.io/mharikmert/portal-backend:latest
docker pull ghcr.io/mharikmert/portal-frontend:latest
Configuration
Environment variables are set in the application properties file as follows
spring.profiles.active = ${ACTIVE.PROFILE:dev}
spring.datasource.url = ${DB_HOST}
spring.datasource.username = ${DB_USERNAME}
spring.datasource.password = ${DB_PASSWORD}
spring.mail.host = ${MAIL_HOST}
spring.mail.username = ${MAIL_USER}
spring.mail.password = ${MAIL_PASSWORD}
spring.mail.port = ${MAIL_PORT}
jwt_secret = ${JWT_SECRET}
Run
Backend application requires an environment variable file as you see above, it can be done by uncommenting the env_file
line in the docker-compose.yaml file and specifying the file path or simply running the backend container with the .env file.
Build and Run with compose
docker compose up -d
Pull the images and Run
docker run -p 8080:8080 --env-file /path/to/env/.env ghcr.io/mharikmert/portal-backend:latest
docker run -p 4200:80 ghcr.io/mharikmert/portal-frontend:latest
You can see running containers with
docker ps
Contributing
Pull requests are welcome. For bug reports, please open an issue.