This is a repository for a web application developed with Django, built with Crowdbotics

Overview

assignment_32558

This is a repository for a web application developed with Django, built with Crowdbotics

Table of Contents

  1. Project Structure
  2. Features
  3. Getting Started: Backend
  4. Usage

Project Structure

..
├── home                           # Starter home app
├── modules                        # Crowdbotics Modules app
├── assignment_32558  # Django project configurations
├── static                         # Static assets
├── users                          # Starter users app
├── web_build                      # React Native Web build
├── ...
├── README.md
└── ...

Features

  1. Local Authentication using email and password with allauth
  2. Rest API using django rest framework
  3. Forgot Password
  4. Bootstrap4
  5. Toast Notification
  6. Inline content editor in homepage

Getting Started: Backend

Following are instructions on setting up your development environment.

The recommended way for running the project locally and for development is using Docker.

It's possible to also run the project without Docker.

Docker Setup (Recommended)

This project is set up to run using Docker Compose by default. It is the recommended way. You can also use existing Docker Compose files as basis for custom deployment, e.g. Docker Swarm, kubernetes, etc.

  1. Install Docker:

  2. Clone this repo and cd assignment_32558

  3. Make sure Pipfile.lock exists. If it doesn't, generate it with:

    $ docker run -it --rm -v "$PWD":/django -w /django python:3.7 pip3 install --no-cache-dir -q pipenv && pipenv lock
  4. Use .env.example to create .env:

    $ cp .env.example .env
  5. Update .env and docker-compose.override.yml replacing all

    1. Use python -c 'from secrets import token_urlsafe; print("SECRET_KEY=" + token_urlsafe(50))' to generate the random SECRET_KEY
  6. Start up the containers:

    $ docker-compose up

    This will build the necessary containers and start them, including the web server on the host and port you specified in .env.

    Current (project) directory will be mapped with the container meaning any edits you make will be picked up by the container.

  7. Seed the Postgres DB (in a separate terminal):

    $ docker-compose exec web python3 manage.py makemigrations
    $ docker-compose exec web python3 manage.py migrate
  8. Create a superuser if required:

    $ docker-compose exec web python3 manage.py createsuperuser

    You will find an activation link in the server log output.

Local Setup (Alternative to Docker)

  1. Postgresql
  2. Python

Installation

  1. Install pipenv
  2. Clone this repo and cd assignment_32558
  3. Run pip install --user --upgrade pipenv to get the latest pipenv version.
  4. Run pipenv --python 3.6
  5. Run pipenv install
  6. Run cp .env.example .env
  7. Update .env file DATABASE_URL with your database_name, database_user, database_password, if you use postgresql. Can alternatively set it to sqlite:////tmp/my-tmp-sqlite.db, if you want to use sqlite for local development.

Getting Started

  1. Run pipenv shell
  2. Run python manage.py makemigrations
  3. Run python manage.py migrate
  4. Run python manage.py runserver

Usage

Admin Panel

Admin Panel can be accessed through http://localhost:8000/admin/. If you are the Project Owner, admin credentials can be generated from App > Settings on Crowdbotics App Dashboard. If not, please request your PM or Project Owner to generate admin credentials and share with you.

API Documentation

API Documentation is generated automatically and can be access through http://localhost:8000/api-docs/. Please make sure you are signed in to the admin panel before navigating to this page.

Owner
Crowdbotics
Crowdbotics user-generated applications. Visit www.crowdbotics.com to build your next application.
Crowdbotics
A helper for organizing Django project settings by relying on well established programming patterns.

django-configurations django-configurations eases Django project configuration by relying on the composability of Python classes. It extends the notio

Jazzband 953 Dec 29, 2022
Compresses linked and inline javascript or CSS into a single cached file.

Django Compressor Django Compressor processes, combines and minifies linked and inline Javascript or CSS in a Django template into cacheable static fi

2.6k Jan 03, 2023
This is a sample Django Form.

Sample FORM Installation guide Clone repository git clone https://github.com/Ritabratadas343/SampleForm.git cd to repository. Create a virtualenv by f

Ritabrata Das 1 Nov 05, 2021
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. An example o

pytest-dev 9.6k Jan 06, 2023
Учебное пособие по основам Django и сопутствующим технологиям

Учебный проект для закрепления основ Django Подробный разбор проекта здесь. Инструкция по запуску проекта на своей машине: Скачиваем репозиторий Устан

Stanislav Garanzha 12 Dec 30, 2022
Sistema administrador de contranas desarrollador en Django

Sistema Contrasenas Desarrolado en Django Proyecto sistema de administracion de contraseñas, de la experiencia educativa Programacion Segura Descripci

Ibrain Rodriguez Espinoza 1 Sep 24, 2022
Get inside your stronghold and make all your Django views default login_required

Stronghold Get inside your stronghold and make all your Django views default login_required Stronghold is a very small and easy to use django app that

Mike Grouchy 384 Nov 23, 2022
The new Python SDK for Sentry.io

Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoy

Sentry 1.4k Jan 05, 2023
Chatbot for ordering and tracking a Pizza.

Pizza Chatbot To start the app, follow the below steps: Clone the repo using the below command: git clone Shreya Shah 1 Jul 15, 2021

django-reversion is an extension to the Django web framework that provides version control for model instances.

django-reversion django-reversion is an extension to the Django web framework that provides version control for model instances. Requirements Python 3

Dave Hall 2.8k Jan 02, 2023
Simple tagging for django

django-taggit This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines. django-tagg

Jazzband 3k Jan 02, 2023
Silk is a live profiling and inspection tool for the Django framework.

Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before presenting them in a user interface for further inspection:

Jazzband 3.7k Jan 02, 2023
Utility for working with recurring dates in Django.

django-recurrence django-recurrence is a utility for working with recurring dates in Django. Documentation is available at https://django-recurrence.r

408 Jan 06, 2023
Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases.

Django-MySQL The dolphin-pony - proof that cute + cute = double cute. Django-MySQL extends Django's built-in MySQL and MariaDB support their specific

Adam Johnson 504 Jan 04, 2023
Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes

Bleach Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes. Bleach can also linkify text safely, appl

Mozilla 2.5k Dec 29, 2022
Django admin CKEditor integration.

Django CKEditor NOTICE: django-ckeditor 5 has backward incompatible code moves against 4.5.1. File upload support has been moved to ckeditor_uploader.

2.2k Jan 02, 2023
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Jan 03, 2023
📝 Sticky Notes in Django admin

django-admin-sticky-notes Share notes between superusers. Installation Install via pip: pip install django_admin_sticky_notes Put django_admin_sticky_

Dariusz Choruży 7 Oct 06, 2021
pdm-django: Django command shortcuts for PDM

pdm-django: Django command shortcuts for PDM A plugin that gives you command shortcuts for developing with PDM. pdm run python manage.py runserver -

Neutron Sync 2 Aug 11, 2022
Use watchfiles in Django’s autoreloader.

django-watchfiles Use watchfiles in Django’s autoreloader. Requirements Python 3.7 to 3.10 supported. Django 2.2 to 4.0 supported. Installation Instal

Adam Johnson 43 Dec 14, 2022