Skip to content

Forum website allows debating on your preferred topics, opening a new discussion, commenting or even voting. Project built with: Python + Flask + HTML + CSS + PostgreSQL. Features *Register and Login *Sort questions *Search key terms/phrases *Mark questions as accepted *User statistics

Notifications You must be signed in to change notification settings

Nicolae-Peptea/AskMate

Repository files navigation

ASK MATE

Table of Contents
  1. About The Project
  2. Usage
  3. Development Team
  4. Acknowledgments

About The Project

home-page.png

Ask mate is a forum where visitors can register and login, start new discussions on different topics, respond to other topics, comment on questions and answers, and vote for answers as preffered. It's simmilar to let's say...Stack Overflow, but it's low specs version.

(back to top)

Main Features

  • Register
  • Login
  • Sort questions
  • Search key terms/phrases
  • Create new question
  • Answer questions
  • Vote and comment on questions and answers
  • Mark questions as accepted
  • Delete questions, answers and comments
  • Access user dashboard
  • Users statistics

(back to top)

Built With

Back End:

Front End:

Database Management:

IDE:

(back to top)

Visuals

Home page:

questions-page.png

Home Page - Logged in:

home-page-logged-in.png

Register Form:

register-page.png

Password validation on client side:

passwrod-validation.png

Login Form:

login-page.png

New question from:

new-question-page.png

New Answer form:

new-answer-page.png

Question Details:

question-page.png

Answers:

comments-page.png

User Dashboard:

user-dashboard-page.png

Users Statistics:

users-page.png

Tags Page:

tags-page.png

(back to top)

Usage

If you'd like to have a look at the application, please, follow these steps:

  • Go to the web app on Heroku
  • Credentials for user login
     user_name: nick_the_brick@yolo.com
     pass: L1nk1np@rk
    
  • Enjoy!

If you'd like to edit and test the source code on Windows OS, please, follow these steps

  • Install Python 3.8 or higher

  • Install PostgreSQL 14 or higher

  • In order to acccess the PSQL command line, set up the environment variables with the path of the bin and lib folders of PostgreSQL directory. Maybe this video can give you a hand with this

  • Run psql -U postgres in the command line and add the password you choose when installed PostgreSQL to login

  • Create a database psql CREATE DATABASE <DB_NAME>

  • Connect to the database you've just created psql \c <DB_NAME>

  • Seed the database with the data from \sample_data\askmatepart2-sample-data.sql by using psql \i <Copy realtive path of the askmatepart2-sample-data.sql> change the \ path separator with /

  • Duplicate the .env.template and rename it to .env

  • In the .env file fill these fields

     PSQL_PASSWORD=postgres account password
     PSQL_HOST=localhost
     PSQL_DB_NAME=db_name_you_created 
     COOKIE_SECRET_KEY=something_random ex: gordgandoibv551150``` 
    
  • Go to your Python folder and add both the folder and the subfolder Scripts paths to the environment variables

  • Install virtualenv with pip install virtualenv from the command prompt

  • Open the root directory and create a virtual environment virtual venv venv

  • Activate the virtual environment venv\Scripts\activate

  • Install requirements from the requirements.txt pip install -r requirements.txt

  • Run server.py

(back to top)

Development Team

(back to top)

Acknowledgments

Thanks for all the support to the Codecool mentors that have guided us!

About

Forum website allows debating on your preferred topics, opening a new discussion, commenting or even voting. Project built with: Python + Flask + HTML + CSS + PostgreSQL. Features *Register and Login *Sort questions *Search key terms/phrases *Mark questions as accepted *User statistics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •