ArgueWise is a platform designed to foster structured, respectful, and productive discussions among individuals or groups with differing opinions. It's built to encourage understanding, critical thinking, and help participants find common ground or develop new ideas.
- Structured Discussions: Spaces for focused topics with specific rules.
- Argument Management: Present, list, and rank arguments based on relevance.
- Time-Limited Discussions: Specify durations and statuses for discussions.
- API-Driven Architecture: Manage users, spaces, discussions, and more.
- OpenAI Integration: Generate content via the OpenAI API.
- Back-End: Java Spring Boot
- Front-End: React
- Database: PostgreSQL
- Email Functionality: Kafka and MailGun
- Java JDK
- PostgreSQL
- Node.js and npm
- Kafka (for email functionality)
- MailGun account (for email functionality)
-
Clone the repository:
git clone https://github.com/venetrius/demo.git
-
Navigate to the project directory:
cd demo
-
Copy the template configuration file:
cp src/main/resources/application-template.yml src/main/resources/application.yml
-
Edit
src/main/resources/application.yml
with the necessary environment variables and dependencies: -
Build the project (excluding tests):
./gradlew build -x test
-
Run the application:
java -jar ./build/libs/ArgueWise-0.0.1-SNAPSHOT.jar
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Start the React app:
npm start
- Open http://localhost:3000/ in a web browser after starting the back-end and front-end.
- Click 'login/register' to create a new account.
- Log in to the platform.
- Create a new space, start a discussion, and add arguments.
http://localhost:8080/swagger-ui/index.html#/ is the Swagger UI for the API.
The licensing for ArgueWise is currently under consideration and will be updated accordingly.