Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Group Project: Blog

exercises/group_project_blog.livemd

Group Project: Blog

Mix.install([
  {:jason, "~> 1.4"},
  {:kino, "~> 0.9", override: true},
  {:youtube, github: "brooklinjazz/youtube"},
  {:hidden_cell, github: "brooklinjazz/hidden_cell"}
])

Navigation

Home Report An Issue Phoenix DrillsPhoenix And Ecto

Group Project: Blog

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.

Requirements

Features

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.

Entity Relationship Diagram

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: ""

Initialize Group Project

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.

Create Your README

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

Protect Main

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.

Commit Your Progress

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.

Navigation

Home Report An Issue Phoenix DrillsPhoenix And Ecto