Mix.install([
{:jason, "~> 1.4"},
{:kino, "~> 0.9", override: true},
{:youtube, github: "brooklinjazz/youtube"},
{:hidden_cell, github: "brooklinjazz/hidden_cell"}
])
You're going to build a Blog
application with a group of 3-4 others to learn more about Phoenix and Ecto.
As we move through the Phoenix and Web Development section, you'll gradually add more features to your blog.
Your blog application should have the following features.
- Posts with a CoverImage
- Users
- Tags
- Comments
- Authentication and Authorization
As you progress through the Phoenix section you'll complete the following exercises that further clarify these features.
- Blog: Posts
- Blog: Search
- Blog: Visibility Migration
- Blog: Comments
- Blog: Authentication
- Blog: Tags
- Blog: Cover Image
- Blog: Home Page
- Blog: Deployment
- Blog: Custom Feature
Here's an Entity-Relationship Diagram that describes the data and associations in the blog project.
erDiagram
User {
string username
string email
string password
string hashed_password
naive_datetime confirmed_at
}
Post {
string title
text content
date published_on
boolean visibility
}
CoverImage {
text url
id post_id
}
Comment {
text content
id post_id
}
Tag {
string name
}
User |O--O{ Post: ""
Post }O--O{ Tag: ""
Post ||--O{ Comment: ""
Post ||--|| CoverImage: ""
Have the project lead use phx.new
to create a new blog
project.
$ mix phx.new blog
Initialize the project with git.
$ git init
Create a GitHub Repository and invite everyone as contributors to the project.
Edit the README.md
file initialized in your Phoenix project.
Include at least the following information:
- Project Name
- Project Summary
- Technologies Used (Phoenix, Elixir)
- Contributors
- An ERDiagram made with mermaid. (see above)
You may update your README as the project expands
Project your main branch so that no one can push directly to main without a PR review.
This is a common safety mechanism used on most projects to ensure no one can accidentally write to the main branch without review by another member of the project.
DockYard Academy now recommends you use the latest Release rather than forking or cloning our repository.
Run git status
to ensure there are no undesirable changes.
Then run the following in your command line from the curriculum
folder to commit your progress.
$ git add .
$ git commit -m "finish Group Project: Blog exercise"
$ git push
We're proud to offer our open-source curriculum free of charge for anyone to learn from at their own pace.
We also offer a paid course where you can learn from an instructor alongside a cohort of your peers. We will accept applications for the June-August 2023 cohort soon.