Skip to content

Azad-Technology/opensoft2024-backend

Repository files navigation



OPEN SOFT 2024 BACKEND

Project Structure

The project is structured as follows, ensuring modular and organized management of various functionalities: Backends:

project_root
│
├── src
│   ├── routers
│   │   └── auth.py
|   |   └── cast.py
|   |   └── countries.py
|   |   └── genre.py
|   |   └── movie.py
|   |   └── recommendation.py
|   |   └── search.py
|   |   └── user.py
|   ├── utils
|   |   └── recommend.py
|   ├── cache_system.py
│   ├── config.py
│   ├── db.py
│   ├── main.py
│   ├── __init__.py
│   └── schemas.py
├── .env
├── .env.example
├── .gitignore
├── README.md
├── ATLAS.md
├── tfidf_vectorizer.pkl
├── vercel.json
└── requirements.txt
project_root
│
├── src
│   ├── routers
│   │   └── embeddings.py
|   ├── utils
|   |   └── nlp.py
|   |   └── ada_embedder.py
|   ├── cache_system.py
│   ├── config.py
│   ├── db.py
│   ├── main.py
│   ├── __init__.py
│   └── schemas.py
├── .env
├── .env.example
├── .gitignore
└── requirements.txt


Setup and Installation

Environment Formation

  1. Clone The repo:
    git clone  

Environment Formation

  1. Make env folder:
    python -m venv env

    This will make an env folder.

  2. Activate environment:
    source env/bin/activate #For Linux
    source env/Scripts/activate #For Windows on Git Bash

    This will activate the env folder.

Setup

    Install dependencies:
    pip install -r requirements.txt

  1. Setup environment variables:
    • Copy the .env.example to a new file called .env.
      cp .env.example .env
    • Open the .env file and populate it with the necessary values for each variable:
      • MONGO_INITDB_DATABASE: Input the connection URI for your MongoDB Instance
      • JWT_KEY: Enter a secure key for encoding and decoding JSON Web Tokens.
      • CORS_ORIGIN: Define the allowed origins for Cross-Origin Resource Sharing. Use * for allowing all origins in a development environment.
      • DATABASE_URL: Input the connection URI for your MongoDB Instance
      • REDIS_URL: Input the connection URI for your Redis Instance
      • REDIS_PORT: Input the connection URI for your MongoDB Instance
      • LS_SIGNING_SECRET: Enter a secure key for Lemon Squeezy.

  2. Run the application:
    uvicorn src.main:app --reload

    This will start the FastAPI application with hot reloading enabled.



API Structures

Backends

  1. https://lb.popkorn.tech/docs
  2. https://embed.popkorn.tech/docs

Tech Stacks Used

Tech Stacks Used are:

  1. FastAPI

  2. MongoDB

  3. Redis

  4. Google API

Releases

No releases published

Packages

No packages published

Contributors 5