RedNews — это современный онлайн-портал, предназначенный для публикации новостей, статей и управления ими. Этот инструмент позволяет вам создавать и публиковать статьи, делиться последними новостями, а также быть в курсе новых публикаций. Используя функционал Новостного портала, вы получаете следующие возможности:
- Публиковать статьи и новости: Вы можете добавлять новые материалы, указывая заголовок, содержание, категорию и теги, что делает процесс создания контента удобным и быстрым 📝
- Создавать каналы: Для удобства организации контента у вас есть возможность создавать тематические каналы, которые помогут структурировать информацию и упростят управление 📂
- Фильтровать и сортировать: Благодаря встроенным фильтрам по категориям, тегам и датам публикации, вы легко найдете нужный материал за считанные секунды 🔍
- Взаимодействовать с контентом: Портал предоставляет функции лайков, благодаря которым пользователи могут выражать свое мнение и взаимодействовать с опубликованными материалами ❤️
- Язык: Elixir 🧪
- База данных: PostgreSQL 🗄️
- Библиотеки:
- Ecto {3.10} 📚
- Phoenix {1.7} 📚
- Tailwind {0.2} 📚
- ExDoc {0.36} 📚
- ORM: Ecto 🛠️
- Шаблонизатор: HEEx 📝
Убедитесь, что у вас установлены:
- Elixir (версия 1.18.1) 🧪
- PostgreSQL (версия 15) 🗄️
- Node.js (версия 16 или выше) 📦
git clone https://github.com/adamanq/rednews.git
cd rednews
mix deps.get
Создайте базу данных и настройте подключение в файле config/dev.exs
:
config :rednews, Rednews.Repo,
username: "your_db_user",
password: "your_db_password",
database: "rednews_dev",
hostname: "localhost",
port: 5432,
pool_size: 10
Создайте и выполните миграции:
mix ecto.create
mix ecto.migrate
mix phx.server
Приложение будет доступно по адресу: http://localhost:4000. 🌐
❗️❗️ На данный момент стабильность работы приложения в контейнере оставляет желать лучшего, поэтому рекомендуется воспользоваться стандартным методом сборки ❗️❗️
docker build .
docker-compose up --build
docker-compose exec web mix deps.get
Создайте базу данных и настройте подключение в файле config/dev.exs
:
config :rednews, Rednews.Repo,
username: "your_db_user",
password: "your_db_password",
database: "rednews_dev",
hostname: "db",
port: 5432,
pool_size: 10
Создайте и выполните миграции:
docker-compose exec web mix deps.get
docker-compose exec app mix ecto.migrate
Приложение будет доступно по адресу: http://localhost:4000. 🌐
- Регистрация и вход: Создайте аккаунт или войдите в систему
- Публикация контента: Добавьте статью или новость, выбрав категорию и теги
- Фильтрация и поиск: Используйте фильтры для поиска нужных материалов
- Лайки и комментарии: Взаимодействуйте с контентом, выражая своё мнение
- lib/rednews — Основной код приложения
- accounts.ex — Контекст для работы с пользователями и каналами 👤
- posts.ex — Контекст для работы с статьями, новостями, лайками, комментариями 📝
- priv/repo/migrations — Миграции базы данных 🗄️
- assets/ — Фронтенд-ресурсы (CSS, JavaScript) 🎨
- config/ — Конфигурационные файлы ⚙️
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
- Adamanr 🧑💻
Если вы хотите улучшить проект, следуйте этим шагам:
- Форкните репозиторий. 🍴
- Создайте ветку для вашей функции (
git checkout -b feature/AmazingFeature
) 🌿 - Зафиксируйте изменения (
git commit -m 'Add some AmazingFeature'
) 💾 - Отправьте изменения в ваш форк (
git push origin feature/AmazingFeature
) 🚀 - Создайте Pull Request 📥
Если у вас есть вопросы или предложения, создайте Issue или свяжитесь со мной! 📩