Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/praks7v/bloggersunity
BloggersUnity is a web application that allows users to create and publish blog posts.
https://github.com/praks7v/bloggersunity
argocd django-application django-docker django-project docker jenkins minikube webapp
Last synced: about 1 month ago
JSON representation
BloggersUnity is a web application that allows users to create and publish blog posts.
- Host: GitHub
- URL: https://github.com/praks7v/bloggersunity
- Owner: praks7v
- Created: 2023-11-02T15:58:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-11T10:35:51.000Z (4 months ago)
- Last Synced: 2024-09-11T18:47:28.811Z (4 months ago)
- Topics: argocd, django-application, django-docker, django-project, docker, jenkins, minikube, webapp
- Language: HTML
- Homepage: https://bloggers-unity.vercel.app
- Size: 2.01 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# BloggersUnity
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
## Overview
BloggersUnity is a web application that allows users to create and publish blog posts. It's built with [Django](https://www.djangoproject.com/)
and offers features like user authentication, creating, editing, and deleting posts.## Features
- User authentication (signup, login, and logout)
- Create and publish blog posts
- Edit and delete your own posts
- View and browse posts by category
- User profile with avatar and contact information
- ...## Getting Started
These instructions will help you set up a local development environment.
### Step 01: Run Locally
1. **Prerequisites**
- Be using Linux, WSL or MacOS, with bash, make etc.
- Python 3.x - for running locally, linting, running tests etc.
- ...2. **Installation**
Clone the project to any directory where you do development work.
```bash
git clone https://github.com/praks7v/BloggersUnity.git
```
```bash
cd BloggersUnity
make venv
make install
make makemigrations
make migrate
make run
```
### Step 02: Create Docker Image and Run Docker Container- Follow the Docker official documentation for [Docker Installation](https://docs.docker.com/engine/install/).
- You can find the installation guide source [here](docker/README.md).
### Step 03: Create CI/CD Pipeline using Jenkins- Follow the Jenkins official documentation for [Jenkins Installation](https://www.jenkins.io/doc/book/installing/).
- You can find the installation guide source [here](jenkins/README.md).
### Step 04: Deploy to Minikube Cluster- Follow the Minikube official documentation for [Minikube Installation](https://minikube.sigs.k8s.io/docs/start/).
- You can find the installation guide source [here](argocd/dev/README.md).
### Step 05: Setup Argocd on Minikube for Continuous Delivery- Follow the Argocd official documentation for [Argocd Installation](https://argo-cd.readthedocs.io/en/stable/getting_started/).
- You can find the installation guide source [here](argocd/README.md).### Makefile
A standard GNU Make file is provided to help with running and building locally.
```
make help - This is for help
make venv - Create a virtual environment
make install - Install dependencies
make run - Run the Django development server
make migrate - Apply database migrations
make makemigrations - Create new database migrations
make test - Run tests
make image - Build the Docker image
make push - Push image to the registry
make lint - Run linters (flake8)
make format - Format code using black
make clean - Clean up Project
```
Make file variables and default values, pass these in when calling `make`, e.g. `make image IMAGE_REPO=blah/foo`| Makefile Variable | Default |
| ----------------- | ---------------------- |
| IMAGE_REG | docker.io |
| IMAGE_REPO | username/project_name |
| IMAGE_TAG | latest |The app runs under Django and listens on port 8000 by default, this can be changed with the `PORT` environmental variable.
### Usage
Visit [http://localhost:8000](http://localhost:8000 ) to access the application.
Create an account and start writing your blog posts.### Contributing
Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
### License
This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/) - see the LICENSE file for details.### Documentation
For detailed documentation, see the BloggersUnity Documentation.
### Authors
[Praks7v](https://github.com/praks7v)### Screenshots
Home
![Home Page](docs/source/_static/home_bloggersUnity.png)Blog Post
![Blog Post](docs/source/_static/blog_posts.png)Dashboard
![Dashboard](docs/source/_static/dashborad_bloggersunity.png)