/mumbleapi

Backend/API for the Mumble.dev, an open source social media application.

Primary LanguagePythonApache License 2.0Apache-2.0

API

Welcome to the Mumble Api Repository

Mumble Community Mumble SQL Diagram Mumble


Getting Started

If you are trying to use this project for the first time, you can get up and running by following these steps.

To contribute to this project, please see the contributing guidelines.

⚠ Note, this step assumes you are using github ssh keys for the git clone method

The Mumble Diagram

--> Preview :


--> Full View:

You can see clearly the diagram at : 

Requirements

Technology Version
Python 3.x
pip latest version
asgiref 3.3.4
certifi 2020.12.5
chardet 4.0.0
coreapi 2.3.3
coreschema
dj-database-url 0.5.0
Django 3.2
django-ckeditor 6.0.0
django-cors-headers 3.7.0
django-heroku 0.3.1
django-js-asset 1.2.2
djangorestframework 3.12.4
djangorestframework-simplejwt 4.6.0
dnspython 2.1.0
email-validator 1.1.2
gunicorn 20.1.0
idna 2.10
itypes 1.2.0
Jinja2 3.0.0
MarkupSafe 2.0.0
Pillow 8.2.0
psycopg2 2.8.6
PyJWT 2.0.1
pytz 2021.1
PyYAML 5.4.1
requests 2.25.1
sentry-sdk 1.0.0
six 1.15.0
sqlparse 0.4.1
typing-extension 3.10.0.0
uritemplate 3.0.1
urllib3 1.26.4
whitenoise 5.2.0

Install and Run

Make sure you have Python 3.x installed and the latest version of pip installed before running these steps.

To contribute, please follow the guidelines process.

Clone the repository using the following command

git clone git@github.com:divanov11/mumbleapi.git
# After cloning, move into the directory having the project files using the change directory command
cd mumbleapi

Create a virtual environment where all the required python packages will be installed

# Use this on Windows
python -m venv env
# Use this on Linux and Mac
python -m venv env

Activate the virtual environment

# Windows
.\env\Scripts\activate
# Linux and Mac
source env/bin/activate

Install all the project Requirements

pip install -r requirements.txt

-Apply migrations and create your superuser (follow the prompts)

# apply migrations and create your database
python manage.py migrate

# Create a user with manage.py
python manage.py createsuperuser

Load test data to your database

# load data for feed
python manage.py loaddata feeddata.json

# load data for article
python manage.py loaddata articledata.json

# load data for discussion
python manage.py loaddata discussiondata.json

Run the tests

# run django tests for article app
python manage.py test article
# run django tests for discussion app
python manage.py test discussion
# run django tests for feed app
python manage.py test feed
# run django tests for users app
python manage.py test users

Run the development server

# run django development server
python manage.py runserver

Reviewers

After submitting your PR, please tag reviewer(s) in your PR message. You can tag anyone below for the following.


Explore admin panel for model data or instances

http://127.0.0.1:8000/admin or http://localhost:8000/admin

Login with the user credentials (you created) using "createsuperuser" cmd

⚠ If everything is good and has been done successfully, your Django Rest API should be hosted on port 8000 i.e http://127.0.0.1:8000/ or http://localhost:8000/