https://github.com/stacktipslab/bloggy
Open source codebase for stacktips.com blog. It is built using Python and Django framework.
https://github.com/stacktipslab/bloggy
django django-application django-blog hacktoberfest hacktoberfest2023 open-source-python-blog stacktips
Last synced: 4 days ago
JSON representation
Open source codebase for stacktips.com blog. It is built using Python and Django framework.
- Host: GitHub
- URL: https://github.com/stacktipslab/bloggy
- Owner: StackTipsLab
- License: mit
- Created: 2023-10-17T14:50:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-13T16:56:02.000Z (about 2 years ago)
- Last Synced: 2024-05-02T04:58:29.597Z (almost 2 years ago)
- Topics: django, django-application, django-blog, hacktoberfest, hacktoberfest2023, open-source-python-blog, stacktips
- Language: Python
- Homepage: https://stacktips.com
- Size: 9.02 MB
- Stars: 17
- Watchers: 1
- Forks: 4
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Bloggy
Introducing Bloggy! The Open-Source Blogging Platform for developers. It is Built on Python and Django framework and
powers [stacktips.com](https://stacktips.com) blog.
If you are a new contributor to this project, have a look out for issues that have
the [Hacktoberfest](https://github.com/StackTipsLab/Bloggy/issues?q=is%3Aissue+is%3Aopen+label%3Ahacktoberfest) label.
## Key Features
Along with tons of features aimed at enhancing the development and blogging experience.
* **Signup and Login**: Seamlessly create your account and log in to access exclusive content.
* **Magic Link Sign-In**: Forget passwords! We've streamlined the login process with magic link sign-in.
* **Create and Publish**: Share your knowledge with the world by creating and publishing articles, courses, and quizzes
effortlessly.
* **Customized Admin Dashboard**: Manage your content efficiently with a user-friendly admin dashboard designed with you
in mind.
* **Sitemaps**: Enhance discoverability with built-in sitemaps that improve search engine ranking.
* **Webmaster Notifications**: Get noticed! StackTips automates Google and Bing webmaster notifications to ensure your
content reaches a wider audience.

## Get Involved!
Are you a developer looking to enhance your skills, share your knowledge, or simply be curious about the inner workings
of a developer-centric blog platform? Now's your chance!
Want to contribute right away?
Check out the issues section. https://github.com/StackTipsLab/bloggy/issues
## Installation Guide
Checkout the code from our git repository
git clone git@github.com:StackTipsLab/bloggy.git
Create a virtual env
```shell
python3 -m venv .venv
source .venv/bin/activate
```
Install python dependencies
```shell
pip3 install -r requirements.txt
```
Rename the `.env.example` file to `.env` and provide all the configuration details including Database, and Email
Configurations. Bare minimum, you will need these properties to get started.
```properties
SECRET_KEY=
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost
# Your database configuration details
DB_NAME=bloggy
DB_USER=root
DB_PASSWORD=password
DB_HOST=127.0.0.1
DB_PORT=3306
```
Create and apply database migrations
```shell
python3 manage.py makemigrations
python3 manage.py migrate
```
Create superuser
```shell
python3 manage.py createsuperuser
```
Collect static files before publishing or development.
```shell
python3 manage.py collectstatic
```
Start the application
```shell
python3 manage.py runserver
```
## Bloggy Frontend Module
For building frontend code, you will need the following node version.
```shell
node -v
v12.22.12
npm -v
6.14.16
```
Once you have the above node version installed, install node dependencies using the following command.
```shell
npm install
```
Now, you can build
```shell
npm run start
npm run build # to generate a production build
```
## Importing Demo Content
We currently supports importing the categories from CSV file. This can be done using the `runseed` command. All you need
to do is to provide the base path where your `.csv` files are located.
The sample CSV files are located in `bloggy/demo_content` directory.
```shell
python3 manage.py runseed --dir=demo_content
```