All Projects → hexpm → Hexpm

hexpm / Hexpm

API server and website for Hex

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Hexpm

Tilex
Today I Learned
Stars: ✭ 418 (-47.62%)
Mutual labels:  hacktoberfest, phoenix
Codebattle
Codebattle game
Stars: ✭ 209 (-73.81%)
Mutual labels:  hacktoberfest, phoenix
Captain Fact Api
🔎 CaptainFact - API. The one that serves and process all the data for https://captainfact.io
Stars: ✭ 145 (-81.83%)
Mutual labels:  hacktoberfest, phoenix
Faker
Faker is a pure Elixir library for generating fake data.
Stars: ✭ 673 (-15.66%)
Mutual labels:  hacktoberfest, phoenix
Www.ruby Lang.org
Source of the https://www.ruby-lang.org website.
Stars: ✭ 790 (-1%)
Mutual labels:  hacktoberfest
Efcorepowertools
Entity Framework Core Power Tools - reverse engineering, migrations and model visualization for EF Core
Stars: ✭ 774 (-3.01%)
Mutual labels:  hacktoberfest
Archisteamfarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Stars: ✭ 7,219 (+804.64%)
Mutual labels:  hacktoberfest
Mind Expanding Books
📚 Books everyone should read!
Stars: ✭ 7,151 (+796.12%)
Mutual labels:  hacktoberfest
Burnttoast
Module for creating and displaying Toast Notifications on Microsoft Windows 10.
Stars: ✭ 796 (-0.25%)
Mutual labels:  hacktoberfest
Laminas Eventmanager
Trigger and listen to events within a PHP application
Stars: ✭ 793 (-0.63%)
Mutual labels:  hacktoberfest
Slidetoact
A simple 'Slide to Unlock' Material widget for Android, written in Kotlin 📱🎨🦄
Stars: ✭ 783 (-1.88%)
Mutual labels:  hacktoberfest
Ftl
The Pi-hole FTL engine
Stars: ✭ 776 (-2.76%)
Mutual labels:  hacktoberfest
Numbro
A JS library for number formatting
Stars: ✭ 790 (-1%)
Mutual labels:  hacktoberfest
Tidb Operator
TiDB operator creates and manages TiDB clusters running in Kubernetes.
Stars: ✭ 778 (-2.51%)
Mutual labels:  hacktoberfest
Snoowrap
A JavaScript wrapper for the reddit API
Stars: ✭ 795 (-0.38%)
Mutual labels:  hacktoberfest
Github Changelog Generator
Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
Stars: ✭ 6,631 (+730.95%)
Mutual labels:  hacktoberfest
Zws
Shorten URLs using invisible spaces.
Stars: ✭ 780 (-2.26%)
Mutual labels:  hacktoberfest
Pizzly
The simplest, fastest way to integrate your app with an OAuth API 😋
Stars: ✭ 796 (-0.25%)
Mutual labels:  hacktoberfest
Bumblebee Status
bumblebee-status is a modular, theme-able status line generator for the i3 window manager.
Stars: ✭ 780 (-2.26%)
Mutual labels:  hacktoberfest
Brasil.io
Backend do Brasil.IO (para código dos scripts de coleta de dados, veja o link na página de cada dataset)
Stars: ✭ 780 (-2.26%)
Mutual labels:  hacktoberfest

Hexpm

CI

Contributing

To contribute to Hexpm you need to properly set up your development environment.

Also see the client repository: hex. The client uses hexpm for integration tests, so hexpm needs to support all versions the client supports. Travis tests ensures that tests are run on all supported versions.

Setup

  1. Run mix setup to install dependencies, create and seed database etc
  2. Run mix test
  3. Run iex -S mix phx.server and visit http://localhost:4000/

After this succeeds you should be good to go!

See setup alias in mix.exs and sections below for more information or when you run into issues.

PostgreSQL Modules And Version

PostgreSQL version should be >= 9.4, as Hexpm uses the jsonb type, that is available from PostgreSQL 9.4 onward.

Hexpm requires the PostgreSQL modules pg_trgm and pgcrypto to be available.

This is located in the "postgresql-contrib" package, however the package name can vary depending on your operating system. If the module is not installed the ecto migrations will fail.

Database

By default, Hexpm connects to a localhost PostgreSQL database hexpm_dev using the username postgres with the password postgres.

Create the database and user 'postgres' if not already done:

CREATE USER postgres;
ALTER USER postgres PASSWORD 'postgres';
CREATE DATABASE hexpm_dev;
GRANT ALL PRIVILEGES ON DATABASE hexpm_dev TO postgres;
ALTER USER postgres WITH SUPERUSER;

-- if you also want to setup the test database
CREATE DATABASE hexpm_test;
GRANT ALL PRIVILEGES ON DATABASE hexpm_test TO postgres;

Now you are fine to run the ecto migrations:

mix ecto.migrate

Sample Data

Using the following command you can seed your local Hexpm instance with some sample data:

mix run priv/repo/seeds.exs

Node Dependencies

For assets compilation we need to install Node dependencies:

cd assets && yarn install

If you don't have yarn installed, cd assets && npm install will work too.

Running Hexpm

Once the database is set up you can start Hexpm:

# with console
iex -S mix phx.server

# without console
mix phx.server

Hexpm will be available at http://localhost:4000/.

License

Copyright 2015 Six Colors AB

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].