Welcome to The Maze of Osiris coding competition! This guide serves as your compass through this exciting labyrinth of challenges. Below, you'll find everything you need to get started, understand the project structure, explore challenges, and contribute to this immersive coding experience.
Begin your journey by cloning the repository from GitHub:
git clone https://github.com/Enigma-IIITS/TheMazeOfOsiris.git
Navigate to the project directory and create a virtual environment:
cd TheMazeOfOsiris
python -m venv venv
Activate the virtual environment:
On Windows:
venv\Scripts\activate
On macOS and Linux:
source venv/bin/activate
Install the required dependencies using pip:
pip install -r requirements.txt
Create a .env
file in the root directory of the project and add the following environment variables:
DATABASE_URL=your_database_url_here
BASE_URL=your_base_url_optional_here
PORT=your_port_optional_here
To create a test user, use the following command:
python -m app test
To start the server, run the following command:
By default, the server starts with round_1:
python -m app
If you want to start the server for another round, use the command:
python -m app <round_folder_name>
For example:
python -m app round_1
In The Maze of Osiris, you have the power to orchestrate your own competitions and assemble teams to embark on thrilling coding adventures. Here's a guide on how to manage competitions and teams using the teams_list.csv
file and a convenient command.
To conduct your own competition, update the teams_list.csv
file with the necessary information:
- team_name: Provide the name of each team participating in the competition.
- email: Optionally, include the email addresses associated with each team.
- team_id: Optionally, assign a unique identifier to each team. If no ID is provided, one will be generated automatically.
Make sure to maintain the structure of the CSV file for smooth processing.
Once the teams_list.csv
file is updated, you can use the following command to create teams and manage the competition:
python -m app create path_to_csv
Here's an example of how the teams_list.csv
file should be structured:
team_name,email,team_id
CodeCrackers,test@gmail.com,1659936504ea49d386a6522171500fcb
Turing,test@gmail.com,
In this example:
- Team "CodeCrackers" has an associated email address and a manually assigned team ID.
- Team "Turing" has an associated email address but no manually assigned team ID, so one will be generated automatically.
To explore challenges and their solutions, navigate to the respective round and challenge directories. Each challenge directory contains a readme.md
file with clear explanations about the challenge and its solution.
Contributions to The Maze of Osiris are welcome! While new challenges are not accepted for contribution in this repository, you can fork the repository and add challenges to your own version. Bug fixes and code improvements are still appreciated.