Skip to content

A basic website for development teams

License

Notifications You must be signed in to change notification settings

yevgenykuz/dev-team-hub

Repository files navigation

Dev Team Hub - A basic website for development teams

The site is meant to bridge between a development team that develops internal products for its company, and the users of those products.

The site contains 3 basic sections - news, wiki and forum. Read more about them below.

Dev Team Hub demo

Travis CI Test coverage


  • News section - contains announcements from the development team (release notes, infrastructure maintenance and changes, important updates, etc.). Articles are filtered by tags
  • Wiki section - the knowledge base of the development team and its products (product information, infrastructure information, development guidelines, etc.). Entries can share common "custom fields" to reduce copy-paste clutter
  • Forum section - a public place to discuss and ask questions (support, product suggestions, development flow suggestions, etc.)
  • Account page - contains "favorite wiki entries" and "posts opened by me"
  • Basic search - performs full text search on wiki entries, news articles, and forum topics
  • On the fly site configuration - site name, custom links drop-down, and current product version can be changed without accessing source files

This project requires:

On Ubuntu, follow the following steps (other OS - same process, different commands):

Get it:

# linux:
sudo apt-get -y install postgresql postgresql-contrib python-psycopg2 libpq-dev
# mac with brew:
brew install postgresql
brew services run postgresql
# You can also run "brew services start postgresql" to have it start at boot
# or run "/usr/local/opt/postgresql@14/bin/postgres -D /usr/local/var/postgres"
# to see the DB logs in terminal

Set it up:

# linux:
sudo su - postgres
# create a db user and password and allow DB creation for django test suite
createuser u_devteamhub
psql -c "ALTER USER u_devteamhub WITH PASSWORD 'YOURSUPERSECRETPASSWORD'"
psql -c "ALTER USER u_devteamhub CREATEDB"
# create db for local server
createdb devteamhub --owner u_devteamhub
exit

# macos, if you installed postgresql with brew and using psql:
psql postgres
# create a db user and password and allow DB creation for django test suite
CREATE ROLE u_devteamhub WITH LOGIN PASSWORD 'YOURSUPERSECRETPASSWORD';
ALTER ROLE u_devteamhub CREATEDB;
# create db for local server
CREATE DATABASE devteamhub WITH OWNER 'u_devteamhub';
\q

In your working folder (your home folder, for example)

git clone https://github.com/yevgenykuz/dev-team-hub.git
This project uses python-decouple and dj-database-url to organize django settings.
You need to create a local .env file and edit it before running the server.
Use the provided .travis.env file as reference.
For basic usage, you must have the following settings (using the db username and password from `Install PostgreSQL DB`_):
# in your .env file
DEBUG=True
SECRET_KEY=YOURSUPERSECRETKEY
ALLOWED_HOSTS=.localhost,127.0.0.1
DATABASE_URL=postgres://u_devteamhub:YOURSUPERSECRETPASSWORD@localhost:5432/devteamhub
LOG_LEVEL=INFO

Make sure you have all python dependencies installed (i recommend using virutalenv):

# inside the folder you've just cloned:
pip install -r requirements.txt

Now run it as a Django development server:

# inside the folder you've just cloned:
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

yevgenykuz

MIT License