Skip to content
No description, website, or topics provided.
JavaScript CSS Python HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Boards App

A full fledged Django powered app. Checkout the app here

Key Features

  • Authentication
  • Login/Signup forms
  • Markdown editing
  • Search for a board
  • Creating or editing a topic
  • Creating or editing a post
  • Alphabetically sorted boards
  • Posts are sorted by timestamp

Tech stack

  • Django
  • Materialize CSS
  • Heroku (deployment)

Database Structure

There are 3 main components in the app

  • Board - A board is a general banner under which there can be different topics eg Python
  • Topic - A topic comes under a board & talks about a specific aspect eg Django Development, Locust
  • Post - A post is made by a user for a topic

Board table

ER Diagram

Board table ER diagram

Example Board table sample data

Topic table

ER Diagram

Topic table ER diagram

Example Topic table sample data

Post table

ER Diagram

Post table ER diagram

Example Post table sample data

For more details, check the file

Running the app locally

Installing database

Here, we install postgres database and pyscopg2 which is a python based postgresql driver which allows us to create sessions, destroy them, fetch data, etc from a postgres database easily.

sudo apt install python3-dev postgresql postgresql-contrib python3-psycopg2 libpq-dev

Installing python dependencies

Creating a python environment

conda env create -f environment.yml
conda actiate boards

Creating .env file

.env files are created to contain all the sensitive information like username, password, database url, etc during the deployment stage. It is a good habit not to push these information to github or make it available to anyone. So, we create a .env file for both local development & production deployment seperately. For more details, refer this article

DB_HOST=db_host # host_url
DB_NAME=db_name # database name
DB_PASSWORD=db_password # database password
DB_PORT=db_port # database port number
DB_USER=db_user # database username
DEBUG=False # email id
EMAIL_HOST_PASSWORD=password # email password # email id
SECRET_KEY=django_app_secret_key_string # app secret key

Running the app

python runserver

In your browser, navigate to this link




Boards Page


Topics Page


Markdown editor & rendering


Please, star the project if you like it. Do create a pull request if there's something that you can add.

Kindly, contact me, if you want to use this project.

You can’t perform that action at this time.