DAT-ETSIT / top-profe

Crowdsourced tuition evaluation tool.
https://topprofe.dat.etsit.upm.es
GNU General Public License v3.0
0 stars 0 forks source link

DAT Top Profe


Sometimes, students need to assess which professor fits their needs best. That's why we have created (actually revamped) Top Profe. The goal of this tool is to help fellow students get additional insights about the people teaching in a certain educational institution, as well as letting professors know when they're doing great and when they have room to improve. The user-facing strings are in Spanish and they hardcoded (i.e. not i18n-ready out of the box), but it shouldn't be too hard to translate them. # Requirements Top Profe needs the following software to work properly: * Node.js v20.12+ * Yarn 1.22.22+ * A MySQL database. # Setup 1. Download or clone this repository: ```sh $ git clone https://github.com/dat-etsit/top-profe $ cd top-profe ``` 2. Install the required dependencies: ```sh $ yarn install ``` 3. Create the configuration file for the backend, `src/server/config.json`. It must have the following structure: ```json { "database": { "host": "", "port": "", "user": "", "password": "", "dbName": "", "dialect": "" }, "server": { "url": "", "path": "", "port": "", "usingProxy": false, "sessionSecret": "", "schoolCode": "", "academicYear": "", "disableVotes": "" }, "email": { "host": "", "port": "", "ssl": "", "user": "", "password": "" }, "sso": { "realm": "", "client": "", "secret": "", "scope": "", "wellKnownEndpoint": "", "redirectUris": [""] }, "api": { "baseURL": "", "subjects": "", "subjectGuides": "" } } ``` Set `server.usingProxy` to `true` if you are serving Top Profe behind a reverse proxy. In affirmative case, it is required to set the "X-Forwarded-Proto" header accordingly (it should always be HTTPS). 4. Create all the database tables and constraints with Sequelize: ```bash $ yarn run db:migrate ``` 5. Run it! ```sh $ yarn start ``` --- © 2024 Delegación de Alumnos de Telecomunicación