Skip to content

JosephMattHall/argonvale

Repository files navigation

Argonvale Adventures Backend

Welcome to Argonvale Adventures, an exciting multiplayer online game where users can create companions, embark on adventures, chat with other players, train their companions, and engage in epic turn-based battles. Dive into a world of medieval fantasy, magic, and adventure as you build your team of companions and explore the realm of Argonvale.

Table of Contents

  1. Introduction
  2. Project Description
  3. Features
  4. Technologies Used
  5. Getting Started
  6. API Endpoints
  7. Authentication
  8. Database
  9. Training System
  10. Contributing
  11. License

1. Introduction

Argonvale Adventures is a virtual companion multiplayer online game designed for mobile devices and web browsers. This repository contains the backend server code that powers the game. It handles user registration and authentication, companion management, training, battles, and more.

2. Project Description

In the world of Argonvale, players can:

  • Create Companions: Users can create unique companions with distinct names, attributes, and abilities. Each companion is your loyal ally in battles and adventures.

  • Embark on Adventures: Explore the enchanting realm of Argonvale, where you'll encounter mythical creatures, hidden treasures, and challenging quests. Use your companions' abilities to overcome obstacles and claim victory.

  • Train Companions: Improve your companions' strength, defense, and speed by sending them to the training school. Higher-level companions require more training time, offering a strategic edge in battles.

  • Engage in Battles: Challenge other players to real-time turn-based battles. Your companions' stats and abilities will determine your success in combat. Strategic planning and quick decision-making are key to victory.

  • Collect Rare Items: Discover rare and valuable items during your adventures. Expand your collection and use them to enhance your companions' abilities.

  • Trade in User Shops: Set up your own shop and trade items with other players. Build your wealth and acquire unique items to gain an advantage in battles.

  • Join the Trading Post: Participate in a bustling marketplace where players buy, sell, and trade items. Hunt for bargains or negotiate deals with fellow adventurers.

3. Features

  • User Registration and Authentication
  • Companion Creation and Management
  • Adventure Exploration
  • Training School for Companions
  • Real-Time Turn-Based Battles
  • Item Collection and Trading
  • User Shops and Trading Post
  • Medieval Fantasy Theme

4. Technologies Used

  • Python: The backend server is written in Python 3.
  • Sanic: A fast asynchronous web framework for building APIs.
  • MongoDB: A NoSQL database for storing user and game data.
  • Motor: An asynchronous driver for MongoDB, used for database interactions.
  • JSON Web Tokens (JWT): Used for user authentication and session management.

5. Getting Started

To set up and run the Argonvale Adventures backend server on your local machine, follow these steps:

  1. Clone this repository to your local environment.

  2. Create a .env file in the project directory and configure it with your MongoDB connection details and secret key.

    MONGODB_HOST=#for development use localhost MONGODB_PORT=# usually 27017 MONGODB_DBNAME=# i call mine game_database in development SECRET_KEY=# this one is up to you
  3. Install the required Python packages by running pip install -r requirements.txt.

  4. Run the server using python app.py. The server will start on http://localhost:8000.

6. API Endpoints

The server provides various API endpoints for user registration, authentication, companion management, training, battles, and more. Refer to the code comments and documentation for details on each endpoint.

7. Authentication

Argonvale Adventures uses JSON Web Tokens (JWT) for user authentication. Users can register and log in to obtain an access token, which they must include in the Authorization header when making authenticated requests.

8. Database

User and game data are stored in a MongoDB database using the Motor asynchronous driver. Companions, items, and user details are managed in the database to ensure a seamless gaming experience.

9. Training System

Companions can be sent to the training school to improve their attributes. The training duration varies based on the companion's level, providing a strategic element to the game.

10. Contributing

We welcome contributions from the community to help enhance Argonvale Adventures. Feel free to open issues, suggest improvements, or submit pull requests.

11. License

This project is licensed under the MIT License. See the LICENSE file for details.

Join the adventure in Argonvale, where mystical creatures, epic battles, and rare treasures await. Dive into the code, explore the realm, and embark on your journey today!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published