Coder Social home page Coder Social logo

zubb / hikka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hikka-io/hikka

0.0 0.0 0.0 8.1 MB

Backend service for hikka.io - Ukrainian anime tracker

Home Page: https://hikka.io

License: GNU Affero General Public License v3.0

Python 99.89% Mako 0.04% Dockerfile 0.07%

hikka's Introduction

Hikka

Backend service for hikka.io - Ukrainian anime tracker.

About The Project

Built With

The list of frameworks, core libraries and software used in this project:

  • FastAPI - framework on top of which Hikka is build uppon
  • SQLAlchemy - library to interact with our database
  • Alembic - tool for database migrations
  • APScheduler - task scheduling library
  • PostgreSQL - our main database software
  • meilisearch - software for robust typo tolerant text search
  • pytest - helps us write better programs

And more!

Getting Started

In order to get Hikka up and running on your local machine you must follow this steps.

Prerequisites

This guide assumes you already have PostgreSQL installed and database named hikka created. For development you would also need Poetry.

Optionally you also need to install Meilisearch 1.4.2 installed for working with. Please node this specific version must be installed because newer versions most likely contain API breaking changes.

Installation

  1. Clone this repository and enter project directory:
    git clone https://github.com/volbil/hikka.git
    cd hikka
  2. Create virtual environment and install dependencies using Poetry:
    poetry shell
    poetry install
  3. Create alembic.ini and settings.toml files in project root directory, example configs can be found in docs/. Make sure to update database endpoint since this is crucial for moving forward. We also suggest creating empty database for runnign tests and specifying it in settings.toml testing section.
  4. Update database to latest migration (keep in mind that migraiton id here might be outdated by now and you should always check alembic/versions/ for latest migration):
    alembic upgrade 0c8a96ac77c9
  5. Enable ltree extension in PostgreSQL by running (we need it for comments logic):
    CREATE EXTENSION IF NOT EXISTS ltree;
  6. Now let's run tests to make sure everything is setup properly:
    pytest
  7. If tests from previous step completed without any issues - congrats, now you can launch Hikka backend locally:
    uvicorn run:app --reload --port=8888

Contributing

Hikka is community driven project and we are always open to contributions. If you wish to make Hikka better here what you would need to do:

If you have a suggestion that would make this better, please fork the repo and create a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Here is couple suggestions which would ensure smooth cooperation:

  • Write clean and concise code, we recommend using tools like ruff to ensure code quality. Here is how we usually check code quality ruff check app/.
  • Always write tests for your code, this would help us to review and accept your code faster.
  • When creating pull request please write detailed explanation. This would make our work easier ;)

You can check our Trello to see ideas for improvements proposed by our community as well as things we are currently working on.

We also suggest you to check out our chat where we dwell. We can discuss and cooperate development there faster.

License

Hikka is distributed under AGPL-3.0-only. See LICENSE.md for more information.

hikka's People

Contributors

volbil avatar darky2020 avatar kuyugama avatar nitekot avatar rosset-nocpes avatar olexh avatar mrikso avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.