Qqwy

Qqwy

TypeCheck Core Team

I am working on my first Phoenix project.

One thing I do not like right now, is that all models are prefixed with the project name. I can understand that this is nicer from a code-hierarcy perspective (less conflicting module names), but many of my files now look like this:

defmodule MyProject.Foo do
  alias MyProject.{Repo, Something, SomethingElse, YetAnotherModel, Bar, Baz, Qux, ...}
end

Is there a better way?

Showing Posts 1 to 10

dgamidov

dgamidov

As far as I understand, it is Elixir naming convention.
I have a lot of same alias App.{Repo, ..}, too :slight_smile:

dgamidov

dgamidov

@Qqwy, you can use schemaless queries :wink:

Qqwy

Qqwy OP

TypeCheck Core Team

One of the things I did not know, and thanks for @wojtekmach for pointing this out to me, is that the web/web.ex is a wonderful file where you can list things that all your models/views/controllers require(/import/use) in a single place.

This makes life already a lot easier. :smiley:

boddhisattva

boddhisattva

Hi @wojtekmach , the below links that you’ve shared in a previous post as part of this thread don’t seem to work anymore(I’m getting a page not found). If the path has changed to another location in the repo, can you please share the new link ?

Thank you.

boddhisattva

boddhisattva

@wojtekmach Thank you very much for your prompt response :slight_smile: . I have a user_profile API only Phoenix 1.3 app(have used options like --no-brunch, --no-html when creating the app via mix phx.new).

I wasn’t able to find functions like def schema within my entire project and also I have my the module names like defmodule UserProfileWeb instead of defmodule Hexpm.Web as per the above link that you’ve shared. I’d like to confirm will the def schema go within the defmodule UserProfileWeb module or do you think it should belong elsewhere ?

wojtekmach

wojtekmach

Hex Core Team

def schema in *Web module doesn’t come out of the box in Phoenix, but you should have similar def controller, def view etc somewhere - use the shared trick there.

boddhisattva

boddhisattva

Thank you @wojtekmach :slight_smile: . def controller, def view etc., are defined as part of defmodule UserProfileWeb, so will definitely add def schema there based on your inputs.

Also just curious, are things different in hex because it’s using an older version of phoenix or is there any other reason to why it’s named defmodule Hexpm.Web when compared to defmodule UserProfileWeb ?

wojtekmach

wojtekmach

Hex Core Team

Note that module names are completely arbitrary and there is little/nothing in either Elixir or Phoenix that dictates them, it’s just a matter of convention. It just happens so that at the time I converted to v1.3-like structure the convention in Phoenix release candidate was MyApp.Web, not MyAppWeb :slight_smile:

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews