Crowdevents is a crowdfunding system for organizing and holding events.
This is a resource and authorization server written in Java that doesn't have any GUI. For React web application see crowdevents-web.
To clone, build and run this application, you'll need Git, JDK 9 or newer and Maven. Depending on launch method you may also need Docker and PostgreSQL.
You can use Docker to launch the application. Launch Docker and execute commands from your command line:
# Clone the repository
$ git clone https://github.com/Seregy/crowdevents
# Go into the repository
$ cd crowdevents
# Package the application
$ mvn install
# Launch docker containers
$ docker-compose up
Now you should have 2 running docker containers: crowdevents-app(with application deployed to Tomcat) and crowdevents-db(with PostgreSQL database).
From your command line:
# Clone the repository
$ git clone https://github.com/Seregy/crowdevents
# Go into the repository
$ cd crowdevents
# Package the application
$ mvn install
# Go into directory with created war
$ cd target
# Launch the application
$ java -jar "-Dspring.profiles.active=development" "-Dfile.encoding=UTF-8" crowdevents.war
For this method you'll need your own PostgreSQL database up and running. You also need to create tables for OAuth authorization server(see oauth-schema.sql for example).
From your command line:
# Clone the repository
$ git clone https://github.com/Seregy/crowdevents
# Go into the repository
$ cd crowdevents
# Package application
$ mvn install
# Go into directory with created war
$ cd target
# Replace values of environment variables if needed and launch the application
$ java -jar "-Dspring.profiles.active=postgres" "-Dfile.encoding=UTF-8" "-DPOSTGRES_USER=server-user" "-DPOSTGRES_PASSWORD=server-pass" "-DPOSTGRES_DB=crowdevents" "-DPOSTGRES_HOSTNAME=127.0.0.1" "-DPOSTGRES_PORT=5432" crowdevents.war
After launching the application server should be running on localhost:8080.
Main API endpoints:
OAuth endpoint for getting access token: