Skip to content

The Socio Platform. Simple Yet powerful way to connect with friends and loved one.

Notifications You must be signed in to change notification settings

yeazin/The-Socio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

original

made-with-python Framework git Visual Studio Schema Version


Project Installation


Clone the repository using the following command

git clone https://github.com/yeazin/The-Socio.git
# After cloning, move into the directory 
# having the project files 

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
python3 -m venv env

Activate the virtual environment

# Windows
env\Scripts\activate

# Linux and Mac
source env/bin/activate

Go the project folder and Install all the project Requirements

# Windows
pip install -r requirements/dev_requirements.txt

# Linux and Mac
pip3 install -r requirements/dev_requirements.txt

Run the Following Script before makemigrations otherwise an error will occur

# As we have a logging system We need to create the logs file first

# Windows 
py create_log.py

# Linux & Mac
python3 create_log.py

.Env File Setup

    The project won`t run if we don`t use the .env file . 
    Contact us for the .env file. 

    Paste the .env file on the ROOT directory of the project . 

Database Setup

    We can use any sql and no-sql database in our project 
    there will be option with perameters in the .env file.
    

Apply migrations and create your superuser (follow the prompts)

# apply makemigration 
python manage.py makemigrations

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

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

[Note : After creating Superuser go to the admin panel
and link the user with SOCIO PROFILE USER option .
and Set the user role permission to 'Socian'. 
Otherwise You won`t be able to access any endpoint we have.]

Run the development server

# run django development server

# Windows 
py manage.py runserver

# Linux & Mac
python3 manage.py runserver

Now we are good to Go . We can check the 127.0.0.1:8000/admin/
and we can access the admin panel. [ NB : Create a Profile from the admin panel then we can login in client side with
the same credentials otherwise it will show an error "User has no Profile"]

Project Flow


Project Architecture

This project is based on Microservices.A microservices architecture is a type of application architecture where the application is developed as a collection of services. It provides the framework to develop, deploy, and maintain microservices architecture diagrams and services independently.

Project Structure


    docs/ # docs file of the Project
        |__ img/
        |-- readme.MD 

    requirements/
        |-- dev_requirements.txt # Requirements for the project

    socio/
        |__ config/  #Root Config folder
            |-- __init__.py
            |-- settings.py # All the settings 
            |-- urls.py (Root URL file)
            |-- wsgi.py
            |-- asgi.py
        
        |__ accounts/
            |-- __init.py
            |-- models # database folder  
            |-- views 
            |-- serializer.py # API file
            |-- urls.py # accounts URL file)
            |-- admin.py

        |__ post/
            |-- __init.py
            |-- models # database folder  
            |-- views 
            |-- serializer.py # API file
            |-- urls.py # accounts URL file)
            |-- admin.py

        |__ socio_profile/
            |-- __init.py
            |-- models # database folder  
            |-- views 
            |-- serializer.py # API file
            |-- urls.py # accounts URL file)
            |-- admin.py

        |__ util_base/
            |__ models/ # models file of abstraction
                |-- _initModels.py
            |__ serializer/
                |-- _initSerializer.py
            |__ utiles/
                |-- _choices.py
                |-- _permission.py
                |-- _utiles.py 

    |-- create_log.py # an Script file to create logs file  
    |-- .gitignore
    |-- readme.MD 
    

Project Documention

Thanks for Tagging alone with the Technical Documention , Read the Project Documtion here ->

Project Documention URL : https://thesocioplatform.docs

Wish you a Great Time ...

If you have any quiry regarding this project
Feel free to contact me :

Email : [email protected] | [email protected]