The open source meme platform.
This project consists of backend written in Kotlin using Spring Boot and frontend written in ReactJS and Sass.
- Install Docker Compose
- Install MySQL or MariaDB.
Alternatively, you can configure
backend/src/main/resources/application.properties
to use H2 in-memory database:
jdbc.driverClassName=org.h2.Driver
jdbc.url=jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1
hibernate.dialect=org.hibernate.dialect.H2Dialect
Ignore this section if you're using H2 in-memory database.
- Configure
backend/src/main/resources/application.properties
(e.g password) - Setup the database. For example,
/* Create a new database `meemio` */
CREATE DATABASE meemio;
/* Create a new user `meemio` */
CREATE USER 'meemio'@'localhost' IDENTIFIED BY 'password123';
/* Give permissions to use the database */
GRANT ALL PRIVILEGES ON meemio.* TO 'meemio'@'localhost';
By default, uploaded files are saved into the /meemio_uploads
directory. A custom path, if desired, can be configured in the docker-compose.yml
file.
- When NOT running the app on localhost, add (or edit) the host address in the
allowedOrigins
variable inmeemio/backend/src/main/kotlin/dev/toppe/meemio/config/SecurityConfiguration.kt
- Add
"homepage": "https://yourpage",
infrontend/package.json
- Run with
docker-compose up
- Navigate to
http://localhost:3000
- Navigate to the
backend/
directory - Run tests with
./gradlew test
.
Omar (frontend)
Topias (backend)