# ctf-app **Repository Path**: ty001007/ctf-app ## Basic Information - **Project Name**: ctf-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-29 - **Last Updated**: 2021-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CTF-App ### Requirements We use docker containers to build and run the CTF application. We need the below applications setup on host machine - Docker - v19.03+ - Docker Compose - v1.25+ ## Development To start the application we need to run ``` docker-compose -f docker-compose.dev.yml up ``` This will build the application and bring up the services. There are 4 different services that currently run in development mode * Frontend - This is a web application built using ReactJS, Redux and Socket.io * Backend - This is the backend API service used to start the sessions and store team details, its built using Flask and Socket.io server module. * SwaggerUI - The Flask API generates a OpenAPI spec for documentation which can be accessed by going to `http://localhost` * MySQL - Service used to store persistant data like team and session details Once the application is up we can access the frontend by using the url `http://localhost:5000`. The admin page has a default auth with token value `secret`. The teams form is used to create a new team which can be assigned with a CTF session. Currently we have one CTF lab called Buffer Overflow. ## Production To start the application we need to run ``` docker-compose up ```