A live QnA board for direct communication between students and lecturers.
This project was made for the CSE1105 OOP project course. This repository does not capture all branches, pull requests and other version managements that took place in the original repository in GitLab. The backlog of intended features can be found in docs/Backlog.md
Most notable functionality:
- Lecturers can create lecture rooms that open on a specific time.
- Users can ask questions, upvote them and give feedback on the lecture's speed.
- Lecturers can answer questions by moving them to a different tab.
- Moderators can ban users.
- Answered questions can be exported
- Dāvis Kažemaks
- Cherin Kim
- Emiel Witting
Nadja LazarevicEbenezer Fosu
- Project can be cloned with
git clone git@gitlab.ewi.tudelft.nl:cse1105/2020-2021/team-repositories/oopp-group-44/repository-template.git - Project can be built using the build.gradle file.
- The client can be executed with
client/src/main/java/nl/tudelft/oopp/askit/ClientApp.java
- If the service doesn't need to be persistent, then the server can be immediately executed with
server/src/main/java/nl/tudelft/oopp/askit/ServerApplication.java - If the service needs to be persistent, first change the value
devtoprodinserver/src/main/resources/application.properties - Then install PostgreSQL on the server machine.
- Log in as the superuser in the console, and then execute:
CREATE DATABASE askit;makes the databaseCREATE USER yourUserName WITH PASSWORD 'yourPassword';creates the user for the databaseGRANT ALL PRIVILEGES ON DATABASE askit TO yourUserNamegives necessary privileges.
- Go to
server/src/main/resources/application-prod.propertiesand changespring.datasource.url=jdbc:postgresql://localhost:5432/askitto whatever you have it on (if you have the default port, it should work without change).spring.datasource.username=postgreschangepostgresto your used user.spring.datasource.password=rootchangerootto your user password for the user.
- The app then must be run with
server/src/main/java/nl/tudelft/oopp/askit/ServerApplication.javaonce to initialize the database. Next steps are to increase security. - After 8. is done properly, the value
spring.jpa.hibernate.ddl-auto=updateshould be changed fromupdatetonone. - To limit accessibility, log into as superuser into postgreSQL on the console and execute
REVOKE ALL PRIVILEGES ON DATABASE askit FROM yourUserName;and then executeGRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO yourUserName; - The server can be executed with
server/src/main/java/nl/tudelft/oopp/askit/ServerApplication.java
Reference: https://spring.io/guides/gs/accessing-data-mysql/
- Set up a local environment for the project
- After adding significant changes, a merge request can be made that adds these changes to the master branch.
- If the original team members approve of these changes and the changes pass the pipeline and Code of Conduct guidelines, it can be added to the project's source code.
This project is under the MIT license.