Giter Site home page Giter Site logo

RSpec CI

Contributing

Feel free to open tickets or send pull requests with improvements. Thanks in advance for your help!

Please follow the contribution guidelines.

Requirements

OSX or Linux

PostgreSQL >= 10.0, Ruby >= 2.6, NodeJS >= 10.0, Elasticsearch 6.x (7.0 not supported), Memcached, Redis

Issues Board (Agile Season)

https://agileseason.com/#/shared/board/098d2e36dff32f296d7815cf943ac8eb

Requirements

Checkout all projects

git clone [email protected]:shikimori/shikimori.git
git clone [email protected]:shikimori/neko-achievements.git
cd neko-achievements
mix local.hex --force
mix deps.get
cd ..
git clone [email protected]:shikimori/camo-server.git
cd camo-server
yarn
cd ..
git clone [email protected]:shikimori/faye-server.git
cd faye-server
yarn
cd ..
cd shikimori

Install yarn, tmux and overmind via Homebrew (OSX)

brew install yarn tmux overmind

In linux you have to install them another way.

Install dependent gems and npm packages

yarn install
bundle install

PostgreSQL

DB

psql -d postgres
create user shikimori_development;
create user shikimori_test;
alter user shikimori_development createdb;
alter user shikimori_test createdb;
alter user shikimori_development with superuser;
alter user shikimori_test with superuser;

Create databases

Make sure en_US.UTF-8 database collation is set https://gist.github.com/ffmike/877447#gistcomment-2851598

Or you manually initialize new database with command

initdb --pgdata=/usr/local/var/postgres-16 -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8'

Or initdb for apple M1

initdb --pgdata=/usr/local/var/postgresql@16 -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8'

Create rails databases

rails db:create

Local Run

Everything you need to run is listed in Procfile. Shikimori uses Overmind to execute Procfile.

Restore from a backup

rails db:drop && rails db:create
unzip -d db/ db/dump.sql.zip
psql -U shikimori_development -d shikimori_development -f db/dump.sql
rm db/dump.sql
RAILS_ENV=test rails db:schema:load
# migrate dump to latest schema
rails db:migrate

Start rails server

rails server

Start related services

overmind start

Start some of related services

OVERMIND_PROCESSES=camo,faye overmind start

Elasticsearch

In rails console:

Elasticsearch::RebuildIndexes.new.perform

Elasticsearch fix on OSX

Homebrew/homebrew-core#100260 (comment)

I've finally made it work, but I'm not sure this is the right call:

I've edited the service plist at /usr/local/Cellar/elasticsearch@6/6.8.23/[email protected]:

     <key>ProgramArguments</key>
     <array>
       <string>/usr/local/opt/elasticsearch@6/bin/elasticsearch</string>
     </array>
     <key>EnvironmentVariables</key>
     <dict>
+      <key>JAVA_HOME</key>
+      <string>'/usr/libexec/java_home -v 17'</string>
     </dict>
I had to edit the plist in the Cellar folder instead of the one in ~/Library/LaunchAgents because brew services is overwriting it at every start.

Update neko rules

rails neko:update

Other

Make a backup

pg_dump -c shikimori_development > db/dump.sql

Autorun rspec & rubocop

guard

Record apipie docs

APIPIE_RECORD=all rspec spec/controllers/api/**

Add new video hosting

# app/services/video_extractor/player_url_extractor.rb

Run locally in production mode

RAILS_ENV=production rails assets:precompile && IS_LOCAL_RUN=true RAILS_ENV=production rails server

Webpack debugger

https://nodejs.org/en/docs/inspector/ Install the Chrome Extension NIM (Node Inspector Manager): https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj

RAILS_ENV=development NODE_ENV=development NODE_PATH=node_modules node --inspect-brk node_modules/.bin/webpack-dev-server --progress --color --config config/webpack/development.js

Shakapacker debugger

https://nodejs.org/en/docs/inspector/ Install the Chrome Extension NIM (Node Inspector Manager): https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj

./bin/shakapacker-dev-server --debug-shakapacker

Webpack visualizer

https://chrisbateman.github.io/webpack-visualizer/

Dependabot

@dependabot ignore this dependency

shikimori's Projects

shikimori doesnโ€™t have any public repositories yet.

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.