elixirs / elixirs/faker

Introducing namespaces

Open
#208 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Elixir
Stars
1.2k
Forks
261
Avg merge
2d 16h
Merged PRs (30d)
13

Description

We want to create namespaces because you and I like Faker and want to keep the library organized and easy to use. Besides that, we need to determine great taxonomy to maintain and scale our modules.

I'm going to start suggesting a few namespaces for the current modules.

```
Faker.Bitcoin => Faker.Blockchain.Bitcoin

Faker.Cat => Faker.Creature.Cat
Faker.Team => Faker.Creature.Team
Faker.Team.En => Faker.Creature.Team.En

Faker.Pokemon => Faker.Fiction.Pokemon
Faker.Pokemon.En => Faker.Fiction.Pokemon.En
Faker.StarWars => Faker.Fiction.StarWars
Faker.StarWars.En => Faker.Fiction.StarWars.En
Faker.Superhero => Faker.Fiction.Superhero
Faker.Superhero.En => Faker.Fiction.Superhero.En

Faker.Beer => Faker.Objects.Beer
Faker.Beer.En => Faker.Objects.Beer.En
```

I'll try to come with taxonomy for the other modules soon. Feel free to suggest a few good namespaces. Your ideas are always welcome.
```
Faker.Address
Faker.Address.En
Faker.Address.Es
Faker.App
Faker.Avatar
Faker.Cat.En
Faker.Code
Faker.Code.En
Faker.Color
Faker.Color.En
Faker.Color.Es
Faker.Color.PtBr
Faker.Commerce
Faker.Commerce.En
Faker.Company
Faker.Company.En
Faker.Date
Faker.DateTime
Faker.File
Faker.Food
Faker.Food.En
Faker.Gov.Us
Faker.Industry
Faker.Industry.En
Faker.Internet
Faker.Internet.En
Faker.Internet.Es
Faker.Internet.PtBr
Faker.Internet.UserAgent
Faker.NaiveDateTime
Faker.Name
Faker.Name.En
Faker.Name.Es
Faker.Name.PtBr
Faker.Nato
Faker.Phone.EnUs
Faker.Phone.EnGb
Faker.Pizza
Faker.Random
Faker.Random.Elixir
Faker.Random.Test
Faker.String
Faker.Util
Faker.UUID
```

Lorem already looks ok, doesn't it?

```
Faker.Lorem
Faker.Lorem.Shakespeare
Faker.Lorem.Shakespeare.En
Faker.Lorem.Shakespeare.Ru
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing the existing Faker module layout against the proposed namespace mappings and the remaining modules listed in the issue. Done means the taxonomy is agreed and the implementation scope for reorganizing the modules is defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.