Платформа для поиска и просмотра аниме, управления коллекцией и создания собственных тирлистов.
YoruGate – это веб-приложение, которое объединяет поиск информации об аниме, персональную коллекцию избранного и удобный редактор тирлистов.
В отличие от обычных каталогов, YoruGate позволяет не только находить новые тайтлы, но и создавать собственные рейтинги, сортировать аниме по уровням, а затем экспортировать результат в виде PNG изображения или JSON-файла для дальнейшего использования или публикации.
Проект состоит из собственного REST API на FastAPI и клиентского приложения на Angular.
- просмотр каталога;
- поиск по названию;
- подробные страницы аниме;
- информация о сезонах и эпизодах;
- просмотр популярных и новых релизов.
- добавление аниме в избранное;
- удаление из избранного;
- персональная коллекция пользователя.
- создание собственных тирлистов;
- Drag & Drop сортировка карточек;
- сохранение тирлистов;
- экспорт в PNG;
- экспорт в JSON;
- последующее редактирование сохранённых тирлистов.
- регистрация;
- авторизация;
- JWT-аутентификация;
Данные об аниме получаются при помощи библиотеки 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Создайте новую базу данных, например:
CREATE DATABASE yoru;Импортируйте SQL-схему проекта:
psql -U postgres -d yoru -f schema.sqlили выполните содержимое файла schema.sql через pgAdmin.
Создайте файл .env:
DATABASE_URL=postgresql://postgres:password@localhost:5432/yoru
SECRET_KEY=your_secret_keyТакже при необходимости в этом файле можно прописать настройки парсеров и сервера из config.py
pip install -r requirements.txtuvicorn main:app --reloadcd anime-frontend
npm install
ng serveПосле запуска приложение будет доступно по адресу:
http://localhost:4200
MIT




