Skip to content

Commit 7057dd8

Browse files
committed
fixing: solved conflicts in app.py
2 parents 87b3b14 + 39c0bc1 commit 7057dd8

21 files changed

+454
-25
lines changed

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
"python.linting.flake8Enabled": true,
44
"python.linting.flake8Args": [
55
"--ignore=E303",
6-
"--ignore=E302"
6+
"--ignore=E302",
7+
"--ignore=F401"
78
],
9+
"python.pythonPath": "server/.venv"
810
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ $ cd server
2222
-----------------------------------
2323

2424
```
25-
$ pip3 install -r requirements.txt
25+
$ pip3 install -r requirements/requirements.txt
2626
```
2727

2828
4- Start Flask server

server/.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ indent_size = 4
99
end_of_line = lf
1010
charset = utf-8
1111
trim_trailing_whitespace = true
12-
insert_final_newline = true
12+
insert_final_newline = true

server/.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
.env
1+
.venv
22
env
33
__pycache__
4-
dump.rdb
4+
dump.rdb
5+
.vscode
6+
variables.py

server/app.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,41 @@
11
from flask import Flask
2+
from flask_cors import CORS
3+
from werkzeug.exceptions import HTTPException
4+
from flask_mail import Mail
5+
26
from src.shared.utils.exception_handler import exception_handler
37
from src.modules.projects.project_blueprint import project_bp
48
from src.modules.users.user_blueprint import user_bp
59
from src.modules.tasks.task_blueprint import task_bp
10+
from src.shared.database.sql_connector import SQLConnector
11+
from src.shared.database.db import db
12+
from config import variables, extensions
13+
import manage
614

715

816
def create_app() -> Flask:
917

1018
app = Flask(__name__)
1119
db_conn = SQLConnector()
1220

21+
configure_cors(app, extensions.cors)
22+
23+
app.config['SQLALCHEMY_DATABASE_URI'] = db_conn.connection_url
24+
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
25+
26+
app.config['MAIL_SERVER'] = variables.MAIL_SERVER
27+
app.config['MAIL_PORT'] = variables.MAIL_PORT
28+
app.config['MAIL_USERNAME'] = variables.MAIL_USERNAME
29+
app.config['MAIL_PASSWORD'] = variables.MAIL_PASSWORD
30+
app.config['MAIL_USE_TLS'] = bool(variables.MAIL_USE_TLS)
31+
app.config['MAIL_USE_SSL'] = bool(variables.MAIL_USE_SSL)
32+
1333
db.init_app(app)
1434
with app.app_context():
1535
db.create_all()
1636

37+
configure_mail(app, extensions.mail)
38+
1739
app.register_blueprint(user_bp)
1840
app.register_blueprint(project_bp)
1941
app.register_blueprint(task_bp)
@@ -23,3 +45,11 @@ def get_error(error):
2345
return exception_handler(error)
2446

2547
return app
48+
49+
50+
def configure_mail(app: Flask, mail: Mail) -> None:
51+
mail.init_app(app)
52+
53+
54+
def configure_cors(app: Flask, cors: CORS) -> None:
55+
cors.init_app(app)

server/config/extensions.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from flask_mail import Mail
2+
from flask_cors import CORS
3+
4+
from config import variables
5+
6+
7+
mail = Mail()
8+
cors = CORS()

server/config/variables.example.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import os
2+
3+
4+
os.environ['HOST'] = '0.0.0.0'
5+
os.environ['PORT'] = '5000'
6+
os.environ['SQL_DATABASE'] = 'your database'
7+
os.environ['DATABASE_USER'] = 'your user database'
8+
os.environ['DATABASE_PASSWORD'] = 'your database password'
9+
os.environ['DATABASE_NAME'] = 'your database name'
10+
os.environ['DATABASE_HOST'] = 'your local ipv4 or remote host'
11+
os.environ['DATABASE_PORT'] = 'the port thatthe database is running'
12+
os.environ['FLASK_ENV'] = 'development | production | testing'
13+
os.environ['SECRET_KEY'] = 'your secret key'
14+
os.environ['MAIL_SERVER'] = 'mail server'
15+
os.environ['MAIL_PORT'] = 'mail server port'
16+
os.environ['MAIL_USERNAME'] = 'mail username'
17+
os.environ['MAIL_PASSWORD'] = 'mail password'
18+
19+
HOST = os.environ.get('HOST')
20+
PORT = os.environ.get('PORT')
21+
DEBUG = True
22+
SQL_DATABASE = os.environ.get('SQL_DATABASE')
23+
DATABASE_USER = os.environ.get('DATABASE_USER')
24+
DATABASE_PASSWORD = os.environ.get('DATABASE_PASSWORD')
25+
DATABASE_NAME = os.environ.get('DATABASE_NAME')
26+
DATABASE_HOST = os.environ.get('DATABASE_HOST')
27+
DATABASE_PORT = os.environ.get('DATABASE_PORT')
28+
FLASK_ENV = os.environ.get('FLASK_ENV')
29+
SECRET_KEY = os.environ.get('SECRET_KEY')
30+
MAIL_SERVER = os.environ.get('MAIL_SERVER')
31+
MAIL_PORT = os.environ.get('MAIL_PORT')
32+
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
33+
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
34+
MAIL_USE_TLS = True
35+
MAIL_USE_SSL = False

server/manage.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from src.modules.users.user import User
2+
from src.modules.projects.project import Project
3+
from src.modules.tasks.task import Task
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-r requirements.txt
2+
flake8
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
flask
2+
psycopg2-binary
23
flask_sqlalchemy
34
flask_cors
45
gunicorn
5-
celery
6-
redis
6+
Flask-Mail
7+
PyJWT

0 commit comments

Comments
 (0)