- Docker & docker-compose packages (requires Linux or OSX)
- Git (have a look at GitKraken for a GUI)
- Code editor (try out VS Code and its extension pack if you don't have a preferred editor already)
Note : This will use port 80 of your computer. You may need to shut down Apache if it is already running on your machine (that would get you a "port allocated" error).
Before being able to run the website, you'll need to run the following commands:
# make sure all dependencies are met
docker-compose run api yarn install
docker-compose run web yarn install
# generate admin user
docker-compose run api yarn bootstrap
Now start the website by typing in a terminal window (in the root folder of this repo same as this README) :
docker-compose up
Then open your web browser: http://localhost
To access MongoDB client (UI for mongodb), open http://0.0.0.0:3333 in your browser and use db
as Host, and website
as Database name.
Everything is hot-reloaded (meaning you just change the code, and the API or website restarts itself).
Front-end is in the web
folder.
It is based on NuxtJS framework, which is an extension of VueJS. Both frameworks have an extensive documentation, very clear and thorough, you will want to have a good knowledge of how they work.
CSS elements are based on Bulma, and more specifically Buefy which is the VueJS implementation of the Bulme components. Refer to Buefy documentation for custom components.
Icons used are listed on materialdesignicons.com.
Back-end is in the api
folder.
It is based on Express, a NodeJS framework to make web servers.
Configure the API using a api.env
file. Copy api.env.sample
to api.env
(in the /api
folder) and replace the variables with the secret keys (ask @kartsims, or use your own).