https://github.com/Oleksii-Mishchenko/SoloAgency.git
The "Solo Agency" project combines the latest web development technologies, utilizing Django REST Framework (DRF) to create a powerful API and React for building dynamic client interfaces. Each aspect of the project is meticulously crafted by a professional designer, ensuring convenience and aesthetic appeal of the user experience. Testers have conducted thorough testing of the system to guarantee its reliability, stability, and security. DRF provides advanced capabilities for automating API creation, including automatic conversion of Django models into serializers and request processing. React, in turn, enables the creation of interactive interfaces with high speed and reactivity. The project features a carefully designed structure that includes various functionalities for event agency management, including service management, event organization, portfolio, advice, reviews, and other aspects. It is created with consideration for the needs of the modern user, providing a convenient and intuitive interface for maximum user comfort. Telegram notifications are configured.
- Python
- Django
- Django-Rest-Framework
- Swagger
- Docker
- Sass
- Vite
- Typescript
- React, React Router
- Redux Toolkit, Redux Persist
- Axios
- React Hook Form
- Yup
http://127.0.0.1:8000/api/doc/swagger/
http://127.0.0.1:8000/api/doc/redoc/
Clone the repository from GitHub:
$ git clone https://github.com/Oleksii-Mishchenko/SoloAgency.git
Once you've cloned the repository, navigate into the repository.
Create a virtual environment and activate it using the following commands:
$ python3 -m venv venv
$ source venv/bin/activate
In directory backend create file ".env" with the following content:
SECRET_KEY=SECRET_KEY
POSTGRES_HOST=POSTGRES_HOST
POSTGRES_DB=POSTGRES_DB
POSTGRES_USER=POSTGRES_USER
POSTGRES_PASSWORD=POSTGRES_PASSWORD
TELEGRAM_BOT_TOKEN=TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID=TELEGRAM_CHAT_ID
EMAIL_BACKEND=EMAIL_BACKEND
EMAIL_HOST=EMAIL_HOST
EMAIL_PORT=EMAIL_HOST
EMAIL_USE_TLS=EMAIL_USE_TLS
EMAIL_HOST_USER=EMAIL_HOST_USER
EMAIL_HOST_PASSWORD=EMAIL_HOST_PASSWORD
DEFAULT_FROM_EMAIL=DEFAULT_FROM_EMAIL
SoloAgency/backend$ : Backend:
$ pip install -r requirements.txt
$ python3 manage.py migrate
$ python3 manage.py runserver
SoloAgency/frontend$ : Frontend:
$ npm install
$ npm run dev
Go to the web browser and enter http://localhost:3000/SoloAgency/#/
In directory backend create file ".env" with the following content:
SECRET_KEY=SECRET_KEY
POSTGRES_HOST=POSTGRES_HOST
POSTGRES_DB=POSTGRES_DB
POSTGRES_USER=POSTGRES_USER
POSTGRES_PASSWORD=POSTGRES_PASSWORD
TELEGRAM_BOT_TOKEN=TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID=TELEGRAM_CHAT_ID
EMAIL_BACKEND=EMAIL_BACKEND
EMAIL_HOST=EMAIL_HOST
EMAIL_PORT=EMAIL_HOST
EMAIL_USE_TLS=EMAIL_USE_TLS
EMAIL_HOST_USER=EMAIL_HOST_USER
EMAIL_HOST_PASSWORD=EMAIL_HOST_PASSWORD
DEFAULT_FROM_EMAIL=DEFAULT_FROM_EMAIL
After that create the file "docker-compose.yml"
version: "3.4"
services:
backend:
image: savik1992/soloagency-backend:latest
ports:
- "8080:8080"
command: sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8080"
env_file:
- backend/.env
depends_on:
- db
healthcheck:
test: ["CMD-SHELL", "pg_isready -U habrpguser -d habrdb"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
frontend:
image: savik1992/soloagency-frontend:latest
ports:
- "3000:3000"
depends_on:
- backend
db:
image: postgres:14-alpine
env_file:
- backend/.env
After create directory backend with file .env as in example.
Then open your terminal and navigate to the directory you wish to store the project and run the following commands:
$ docker-compose up
Welcome, the application is ready to use at url http://localhost:3000/SoloAgency/#/
- Taras Savchyn — Python Developer
- Oleksii Mishchenko — Frontend Developer
- Tetiana Melnychuk — UI/UX Designer
- Ekateryna Shabunina — QA Engineer