Skip to content

CodeFlow is my project aimed to create a platform for asking and answering programming related questions

Notifications You must be signed in to change notification settings

VitaliySynytskyi/CodeFlow

Repository files navigation

Welcome to CodeFlow

👋 Hi there! CodeFlow is a web application that allows developers to post and answer programming-related questions. It is similar to StackOverflow and was developed using Flask, with a MySQL database and SQLAlchemy as the ORM. The application also makes use of Azure services and the flasgger library for Swagger UI documentation.

🚀 Getting Started

To get started with CodeFlow, you'll need to have Python 3 and Flask installed on your machine. Follow the instructions on the official Python and Flask websites to install these dependencies.

Once you have these dependencies installed, you can clone the repository to your local machine using the following command:

git clone https://github.com/VitaliySynytskyi/CodeFlow.git

Then, navigate to the project directory and install the remaining dependencies using the following command:

cd CodeFlow 
pip install -r requirements.txt

To start the application, simply run:

python app.py deploy
python app.py run

This will start the development server on http://localhost:5000.

🛠️ Technology Stack

  • Backend: Flask - is a web development framework that allows for easy creation of web applications with Python. Flask-WTF is a Flask extension for working with web forms.
  • Frontend: HTML/CSS, Bootstrap - are used for creating the user interface and styling the web pages.
  • Database: MySQL - is a relational database management system used for storing and retrieving data.
  • ORM: SQLAlchemy - is an Object-Relational Mapping library that provides a way to interact with databases using Python objects.
  • Public API - thecatapi and cat-fact
  • Azure services - Azure Text Analytics
  • Unit testing framework: Pytest - is a testing framework for Python that allows for easy creation of tests and test suites.
  • Dependency injection: Constructor injection (builtin) - is a design pattern that allows for the injection of dependencies into objects at runtime. In this case, constructor injection is built into the project.
  • Swagger UI: flasgger - is a tool used for generating interactive API documentation from Swagger-compliant API descriptions.
  • Deployment to Azure: Azure Web App service - is a platform-as-a-service (PaaS) offering from Microsoft Azure that allows for deployment and scaling of web applications.

📝 Tasks

The following tasks were completed to develop CodeFlow:

  • Create Solution ✅
  • Create DB and AppService on Azure ✅
  • Connect ORM ✅
  • Create Page About with my information ✅
  • Create Test Page for Displaying data ✅
  • Create Test Page for Creating objects ✅
  • Deploy the project on Azure ✅
  • Logs ✅
  • Create Application Insights ✅
  • Connect Application Insights ✅
  • Add README on GIT ✅
  • Refactored the code ✅
  • Added Google authorization ✅
  • Added user profiles ✅
  • Implemented password change functionality in user profiles ✅
  • Implemented a blog feature ✅
  • Added an algorithm for blog updates (Azure) ✅

💬 Contributing

Contributions to CodeFlow are always welcome! To contribute:

  1. Fork the repository to your own account
  2. Create a new branch from the main branch
  3. Make your changes and push them to your branch
  4. Create a pull request to merge your changes into the main branch
  5. Follow the code style used in the project and write tests for any new functionality you add.

📝 About the Author

Thank you for your interest in CodeFlow! If you have any questions or feedback, feel free to reach out to me via email or Telegram. 👍

📒 Lab 3

  • I introduce a new feature that involves creating a blog where the most commonly asked questions will be addressed in an aesthetically pleasing manner.
  • Oleksandr Zhuk
  • My project
  • Pull Request

📒 Lab 4


About

CodeFlow is my project aimed to create a platform for asking and answering programming related questions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •