Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nikolaevdmv/conference-app
Conference Management System
https://github.com/nikolaevdmv/conference-app
angular2 spring-boot
Last synced: 7 days ago
JSON representation
Conference Management System
- Host: GitHub
- URL: https://github.com/nikolaevdmv/conference-app
- Owner: nikolaevdmv
- Created: 2023-10-06T14:44:37.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-26T13:32:33.000Z (about 1 year ago)
- Last Synced: 2024-10-10T11:42:04.453Z (27 days ago)
- Topics: angular2, spring-boot
- Language: Java
- Homepage:
- Size: 709 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Conference Management System
My bachelor's graduate work.
## About
I was trying to create a system similar to EasyChair.\
The application has a role system.\
The basic flow:
1) You apply with your conference, and then application admin validates your request and creates the conference.\
2) You acquire the organizer role and can invite users into conference.
3) Assign conference roles on a participant's page. There are several roles within a conference:
* submitter - submits a thesis
* conference admin - can manage roles and send submissions on review
* reviewer - reviews user's submissions
4) After thesis was submitted, conference admin has to assign reviewers, and send it on review
5) Reviewers can download it and write a review in the system
6) If thesis is not acceptable, then Submitter has to edit and reupload it
7) Conference admin sends it on review one more time
8) The process continues until thesis will be accepted## Environment
* Windows 10
* Java 20
* Gradle 7.5
* Node 18.17.1
* NPM 10.1.0## Architecture
![diagram_png](./docs/conference-app.png)
## Start
All commands should be executed from the root project folder### Frontend
```console
cd frontendnpm install
npm start
```
### Backend
```console
cd backendgradlew.bat clean build bootRun
```## Usage
Application will be displayed at http://localhost:4200There is stub data for conferences. Home page will display several conferences, but only first one has predefined participants:
* organizer
* login: [email protected]
* password: test
* 1 reviewer
* login: [email protected]
* password: test
* 2 reviewer
* login: [email protected]
* password: test
* 1st plain user
* login: [email protected]
* password: test
* 2nd plain user
* login: [email protected]
* password: test## TODO
- [ ] Introduce object storage for documents (MinIo - open source solution)
- [ ] Switch from h2 to postgresql
- [ ] Introduce database change library: Liquibase/Flyway
- [ ] Move from custom security to OpenID Connect (Keycloak)
- [ ] Code refactoring & Tests
- [ ] Rewrite reviewing system: Move from 'reviewers per submissions' to 'reviewers per conference'## Screenshots