Version: 1.0
This document provides an overview of the Newton Breakout Revival API. The API offers various endpoints to perform actions such as signin, signup, add scores, retrieve scores and other functionalities in the Newton Breakout Revival app The Newton Breakout Revival is a mobile gaming APK
All API endpoints are meant for the Newton Breakout Revival developers
Utilizes technologies like Python, Flask, SQLAlchemy, and more.
To get started with the local development environment, clone the repository:
$ git clone https://github.com/holic65/Newton_Breakout_Revival.git
$ cd Newton_Breakout_Revival
You can set up the environment using either venv
or pipenv
. Here are instructions for both:
Using venv
:
# create Virtual Environment
$ python3 -m venv venv
# Activate Virtual Env
$ source venv/bin/activate
# Install Dependencies
$ pip install -r requirements.txt
Using pipenv
:
$ pip install pipenv
# create virtuel environment
$ pipenv --python 3.10
# Activate virtual env
$ pipenv shell
# install dependencies in requirements.txt or pipfile
$ pipenv install
$ python3 run.py
- POST: Create a new user
- Summary: Create a new user
- Parameters:
- Request body as json
name
(Required, string): Unique name of the useremail
(Required, string): Unique email of the userPassword
(Required, string): Password of the user
- Request body as json
- Responses:
201
: User created successfully- success: True
- name: "name of user"
- email: "email of user"
400
: Email or name already exist or Invalid email or name- success: False
- message: Email or name already exist or Invalid email or name
404
: An Error occurred- success: False
- message: An error occurred
500
: Internal Server Error
- POST: Signin to an existing account
- Summary: Signin to an existing account
- Parameters:
- Request body as json
email
(Required, string): Unique email of the userPassword
(Required, string): Password of the user
- Request body as json
- Responses:
200
: User sign-in successfully- success: True
- name: "name of user"
- email: "email of user"
400
: Invalid email or password- success: False
- message: Email does not exist or Incorrect password
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- POST: Signin as a guest
- Summary: Signin as a guest with just name
- Parameters:
- Request body as json
name
(Required, string): Name of the user
- Request body as json
- Responses:
200
: User sign-in successfully- success: True
- name: "name of user"
400
: Invalid name- success: False
- message: Enter a valid name
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- POST: Saves user's score to server
- Summary: Save user's score to server
- Parameters:
- Request body as json
user_id
(Required, string): Id of the userscore
(Required, integer): User's score
- Request body as json
- Responses:
200
: Score saved successfully- success: True
- name: "name of user"
- user_id: "user's id"
- score: score
- score_id: score id,
- message: 'Score updated successfully' || Score not updated previous score is higher or equal' || 'Score added successfully'
400
: Invalid user- success: False
- message: 'user does not exist'
404
: An error occurred- success: False
- message: 'An error occured'
500
: Internal Server Error
- GET: Get top 20 scores
- Summary: Get top 20 scores
- Parameters:
- No parameters needed
- Responses:
200
: Scores returned successfully- [ { 'name': user's name, 'score': user's score, 'score_id': score id } ]
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- DELETE: Delete users from tournament scoreboard
- Summary: Delete user score from tournament scoreboard
- Parameters: No parameter needed
- Responses:
200
: Score deleted successfully- success: True
- message: 'score deleted successfully
400
: Invalid score- success: False
- message: 'score not found'
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- POST: Saves score for tournament to server
- Summary: Save score for tournament to server
- Parameters:
- Request body as json
user_id
(Required, string): Id of the userscore
(Required, integer): User's score
- Request body as json
- Responses:
200
: Score saved successfully- success: True
- name: "name of user"
- user_id: "user's id"
- score: score
- score_id: score id,
- message: 'Score updated successfully' || Score not updated previous score is higher or equal' || 'Score added successfully'
400
: Invalid user- success: False
- message: 'user does not exist'
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- GET: Get top 20 scores in tournament
- Summary: Get top 20 scores in tournament
- Parameters:
- No parameters needed
- Responses:
200
: Scores returned successfully- [ { 'name': user's name, 'score': user's score, 'score_id': score id } ]
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error
- DELETE: Delete users score from tournament scoreboard
- Summary: Delete user score from tournament scoreboard
- Parameters: No parameter needed
- Responses:
200
: Score deleted successfully- success: True
- message: 'score deleted successfully
400
: Invalid score- success: False
- message: 'score not found'
404
: An error occurred- success: False
- message: An error occured
500
: Internal Server Error