Skip to content

dominikjalowiecki/Studies-Search

Repository files navigation

Preview project example workflow

Studies-Search

Web application for searching and reviewing schools. Click here to preview.

Project's OpenAPI schema available on path "/static/openapi.json".

Link to API documentation.
Link to Swagger UI.

  • Application uses Continuous Delivery solution built upon GitHub Actions and GitHub Container Registry.

Table of content


Technologies

  • Django
  • Django REST Framework
  • PostgreSQL
  • Google Drive API
  • Google Gmail SMTP
  • React
  • Chakra UI
  • SWR
  • Sentry
  • Docker

Features

  • User login
  • User registration
  • Email account activation
  • Token based authentication
  • Login endpoint throttling (max 5 req./min)
  • Local-memory caching strategy on faculties list and retrieve endpoints
  • User password reset and change
  • Filtering and searching faculties
  • Moderator privileges
  • Moderator can add new faculty
  • Moderator can update faculties
  • Commenting faculties
  • Client side generation of PDF

Setup

Clone repository

git clone https://github.com/dominikjalowiecki/Studies-Search.git

Change directory

cd ./Studies-Search

Setup .env file

SECRET_KEY=secret_key
DEBUG=True

Install pipenv

pip install --user pipenv

Install dependencies

pipenv sync --dev
cd ./frontend
npm ci

Make migrations

cd ..
pipenv run migrate

Run development environment

pipenv run run

OR

Run docker-compose "production" environment

Requires additional SMTP and Google Drive API key setup.

docker compose -f docker-compose.dev.yaml -p studies-search_dev up -d

Application available on http://localhost:80 for frontend and http://localhost:8000 for backend.


Projects hosting infrastructure

Projects hosting infrastructure