Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YoruGate Logo YoruGate

Платформа для поиска и просмотра аниме, управления коллекцией и создания собственных тирлистов.


О проекте

YoruGate – это веб-приложение, которое объединяет поиск информации об аниме, персональную коллекцию избранного и удобный редактор тирлистов.

В отличие от обычных каталогов, YoruGate позволяет не только находить новые тайтлы, но и создавать собственные рейтинги, сортировать аниме по уровням, а затем экспортировать результат в виде PNG изображения или JSON-файла для дальнейшего использования или публикации.

Проект состоит из собственного REST API на FastAPI и клиентского приложения на Angular.


Возможности

Каталог аниме

  • просмотр каталога;
  • поиск по названию;
  • подробные страницы аниме;
  • информация о сезонах и эпизодах;
  • просмотр популярных и новых релизов.

Избранное

  • добавление аниме в избранное;
  • удаление из избранного;
  • персональная коллекция пользователя.

🏆 Тирлисты

  • создание собственных тирлистов;
  • Drag & Drop сортировка карточек;
  • сохранение тирлистов;
  • экспорт в PNG;
  • экспорт в JSON;
  • последующее редактирование сохранённых тирлистов.

Пользователь

  • регистрация;
  • авторизация;
  • JWT-аутентификация;

Используемые технологии

Frontend

Angular

TypeScript

RxJS

Backend

FastAPI

SQLAlchemy

JWT

Database

Postgres

Используемые API

Данные об аниме получаются при помощи библиотеки AnimeParsers

Структура проекта

AnimeApp
│
├── anime-frontend
│   ├── public
│   └── src
│       ├── app
│       │   ├── core
│       │   ├── pages
│       │   ├── shared
│       │   ├── app.config.ts
│       │   ├── app.html
│       │   ├── app.routes.ts
│       │   ├── app.scss
│       │   ├── app.ts
│       │   └── app.config.ts
│       │
│       ├── environments
│       │   ├── environment.development.ts
│       │   └── environment.ts
│       │
│       ├── index.html
│       └── styles.scss
│
├── AnimeBackend
│   ├── requirements.txt
│   ├── config.py
│   ├── main.py
│   ├── models.py
│   ├── parser_service.py
│   ├── schemas.py
│   └── security.py
│
├── database
│   └── schema.sql
│
├── img
│
│
└── README.md

Запуск проекта

Клонируйте репозиторий

git clone https://github.com/kiraping1337/AnimeApp.git
cd AnimeApp

Backend

1. Создать базу данных PostgreSQL

Создайте новую базу данных, например:

CREATE DATABASE yoru;

2. Создать структуру базы данных

Импортируйте SQL-схему проекта:

psql -U postgres -d yoru -f schema.sql

или выполните содержимое файла schema.sql через pgAdmin.

3. Настроить переменные окружения

Создайте файл .env:

DATABASE_URL=postgresql://postgres:password@localhost:5432/yoru
SECRET_KEY=your_secret_key

Также при необходимости в этом файле можно прописать настройки парсеров и сервера из config.py

4. Установить зависимости

pip install -r requirements.txt

5. Запустить сервер

uvicorn main:app --reload

Frontend

cd anime-frontend

npm install

ng serve

После запуска приложение будет доступно по адресу:

http://localhost:4200

В случае если вы решите деплоить приложение на своем сервере, не забудьте изменить apiUrl в environment.ts


Скриншоты

Главная страница

Main Page


Каталог

Catalog


Страница аниме

Anime Detail


Избранное

Favorites


Редактор тирлистов

Tier List


Лицензия

MIT

About

Web-приложение для поиска и просмотра аниме, управления коллекцией и создания собственных тирлистов.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages