Skip to content

hellospeakwise-hq/speakwise-backend

Repository files navigation

SpeakWise-Backend

SpeakWise-Backend is a Django-based backend for the SpeakWise application, designed to provide robust APIs and backend services.

Features

  • Django 5.x project structure
  • Environment-based settings (development, production)
  • Code formatting and linting scripts (black.sh, flake8.sh)
  • Modular settings and scripts

Getting Started

Prerequisites

  • Python 3.10+
  • pip
  • Virtualenv (recommended)

Setup

  1. Clone the repository:

    git clone https://github.com/hellospeakwise-hq/speakwise-backend.git
    cd SpeakWise-Backend
  2. Create and activate a virtual environment:

    python3 -m venv env
    source env/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure Environment

    cp .env.example .env  # Create your environment file
    # Edit .env with your preferred settings
  5. Run migrations:

    python manage.py migrate
  6. Start the development server:

    python manage.py runserver

Note: SpeakWise uses three settings environments:

  • settings/base.py
  • settings/local.py
  • settings/prod.py

To specify which settings to use, you can run:

For Local

python3 manage.py runserver --settings=speakwise.settings.local

For Prod(Production)

python3 manage.py runserver --settings=speakwise.settings.prod

Or set the environment variable so you don't have to specify it every time:

export DJANGO_SETTINGS_MODULE=speakwise.settings.local

Project Structure

  • speakWise/ - Main Django project
  • settings/ - Environment-specific settings
  • scripts/ - Formatting and linting scripts
  • env/ - Virtual environment (not tracked in git)

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Make your changes and pre-commit before you commit your changes:

please make sure to install pre-commit with uv pip install pre-commit or pip install pre-commit if you are not using uv as a package manager. You can also install uv with pip install uv read more about uv here

git add .
pre-commit run --all-files
git commit -m "Describe your changes"
  1. Run formatting and linting:

    ./speakwise/scripts/black.sh
    ./speakwise/scripts/flake8.sh
  2. Push to your fork:

    git push origin feature/your-feature-name
  3. Open a Pull Request on GitHub.

Code Style

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages