diff --git a/README.md b/README.md index b90c14f..91d66d4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,40 @@ # Connection_Web_App -This app acts as a connecting bridge between juniors, seniors and faculties for their respective institution. +Problem Description: + After 12 th standard, many of the students would join colleges. When they enter into college, Majority of them don’t know what are the things they should do or +shouldn’t do in college. For example, a first-year student doesn’t know about how to prepare himself for the industry and he/she also don’t know what are +the things to do for higher studies and the problem goes on. Every first-year student has many doubts on many topics. when time goes on, they slowly came to know about their need, what to do and how to prepare. At this time, they probably in 3 rd year.so they almost wasted huge amount of time in unnecessary +things and activities. + Connection web app aims at tackling the above issues and providing a seamlessly integrated, web-based questioning and answering application that enables the students to put a question or doubts on the web app and any student (probably seniors) or faculty of the institution can give the solution or answer for the question or doubt. + +Use Cases: +User – Put questions or doubts +User – Answer questions or doubts +User – Read questions and answers +User – Share their experience on college, the mistakes they made, the thing +they learned and etc., + +Description of the software solution: + Connection is the web-based application that enables college students to ask their doubts (related to college, carrier, courses, placement preparation and +etc.,) and senior students or faculty members can give solution for the problem the student face. This web app act as a connection bridge between junior +students, senior students and faculty members. This application can only usable by same college students (As of now this application will be only available for +Rajalakshmi engineering college students) + +Enhancement Requests: +1. User Profile +Users can have profile, that profile shows their resignation for faculties and +details (Roll Number, Name, year, department) for students. + +Functional Requirements: +1. User Registration +User must be able to register for the application through a valid email id. On +using the application for the first time, user must create a profile. +2. Post question or doubts +User can able to post questions on the application. +3. Answer questions and doubts +User can able to answer the questions. One question can have multiple +solutions. +4. View questions and their answers +When user enter into the application, the application feed some questions +and respective answer to the user. +5. Search questions +User can search questions and find respective answers. diff --git a/login_page/forms.py b/login_page/forms.py new file mode 100644 index 0000000..f2f47c8 --- /dev/null +++ b/login_page/forms.py @@ -0,0 +1,8 @@ +from flask_wtf import FlaskForm +from wtforms import StringField,PasswordField,SubmitField + +class register(FlaskForm): + roll_no=StringField(label='Rollno') + password1=StringField(label='Password') + login=SubmitField(label='Login') + diff --git a/login_page/run.py b/login_page/run.py new file mode 100644 index 0000000..690df03 --- /dev/null +++ b/login_page/run.py @@ -0,0 +1,12 @@ +from flask import Flask,render_template +from forms import register +app = Flask(__name__) +app.config['SECRET_KEY']='265ace69ca3210b6295e4b3f' + + +@app.route('/') +@app.route('/login') +def home(): + form=register() + return render_template('login.html',form=form) + diff --git a/login_page/templates/Faculty_login.html b/login_page/templates/Faculty_login.html new file mode 100644 index 0000000..d7fa29b --- /dev/null +++ b/login_page/templates/Faculty_login.html @@ -0,0 +1,107 @@ + + + + + + + Bootstrap Site + + + + + + + +
+

Faculty profile :

+
+
+
+
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+ +
+
+
+
+ + diff --git a/login_page/templates/base.html b/login_page/templates/base.html new file mode 100644 index 0000000..5f7627e --- /dev/null +++ b/login_page/templates/base.html @@ -0,0 +1,47 @@ + + + + + + + + + {% block title%} + {%endblock%} + + + + + + + + {%block content%}{%endblock%} + + + + + + + + + + + + + + diff --git a/login_page/templates/login.html b/login_page/templates/login.html new file mode 100644 index 0000000..0ab878d --- /dev/null +++ b/login_page/templates/login.html @@ -0,0 +1,33 @@ +{% extends 'base.html'%} +{% block title %} +Register Page +{% endblock %} + +{% block content %} + + +
+
+ +
+
+

+ Login to your Account +

+
+ {{ form.roll_no.label() }} + {{ form.roll_no(class="form-control", placeholder="Rollno") }} + + {{ form.password1.label() }} + {{ form.password1(class="form-control",type="password", placeholder="Password",) }} +
+ {{ form.login(class="btn btn-lg btn-block btn-primary") }} + + + + +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/login_page/templates/student_login.html b/login_page/templates/student_login.html new file mode 100644 index 0000000..e14b1e3 --- /dev/null +++ b/login_page/templates/student_login.html @@ -0,0 +1,133 @@ + + + + + + + Bootstrap Site + + + + + + + +
+

Your profile :

+
+
+
+
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+ Required +
+
+
+ + +
+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+ +
+
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+ +
+ +
+
+ + + + diff --git a/main_app/Connecx/__init__.py b/main_app/Connecx/__init__.py new file mode 100644 index 0000000..fd66a88 --- /dev/null +++ b/main_app/Connecx/__init__.py @@ -0,0 +1,9 @@ +from flask import Flask,render_template +from flask_sqlalchemy import SQLAlchemy + +app = Flask(__name__) +app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///Quora.db' +app.config['SECRET_KEY']='2418faa391fc381ac9f81b29' +db=SQLAlchemy(app) + +from Connecx import routes diff --git a/main_app/Connecx/forms.py b/main_app/Connecx/forms.py new file mode 100644 index 0000000..2c4fad7 --- /dev/null +++ b/main_app/Connecx/forms.py @@ -0,0 +1,21 @@ +from flask_wtf import FlaskForm +from Connecx.models import user +from wtforms import StringField,PasswordField,SubmitField +from wtforms.validators import length,EqualTo,DataRequired + + +class register(FlaskForm): + roll_no=StringField(label='Roll.no') + password1=PasswordField(label='Password') + login=SubmitField(label='Login') + +class User_register(FlaskForm): + username=StringField(label="Username") + password1=PasswordField(label="Password") + password2=PasswordField(label="Confirm Password") + rollno=StringField(label="Roll.No") + dept=StringField(label="Department") + gender=StringField(label="Gender") + hosteler=StringField(label="Mode of Access") + batch=StringField(label="Batch(Year of Finishing)") + submit=SubmitField(label="Submit") diff --git a/main_app/Connecx/models.py b/main_app/Connecx/models.py new file mode 100644 index 0000000..9ed6dc3 --- /dev/null +++ b/main_app/Connecx/models.py @@ -0,0 +1,23 @@ +from Connecx import db + + +class user(db.Model): + username=db.Column(db.String(length=50),nullable=False) + rollno=db.Column(db.String(),nullable=False,unique=True) + dept=db.Column(db.String(length=30)) + batch=db.Column(db.Integer()) + gender=db.Column(db.String(),nullable=False) + hostelers=db.Column(db.String(),nullable=False) + password1=db.Column(db.String(length=50),nullable=False) + ID=db.Column(db.Integer(),nullable=False,unique=True,primary_key=True) + score=db.Column(db.Float(),default=0.0) + + + + + + + + + + \ No newline at end of file diff --git a/main_app/Connecx/routes.py b/main_app/Connecx/routes.py new file mode 100644 index 0000000..e734c63 --- /dev/null +++ b/main_app/Connecx/routes.py @@ -0,0 +1,72 @@ +from Connecx import app +from flask import render_template,redirect,url_for,flash,request + +from Connecx.forms import register,User_register +from Connecx import db +from Connecx.models import user + + + +@app.route('/login',methods=['GET','POST']) +def home(): + form=register() + if(request.method=='POST'): + r_n=form.roll_no.data + pwrd=form.password1.data + for i in user.query.all(): + if(r_n==i.rollno): + if(pwrd==i.password1): + return redirect(url_for('front_page')) + else: + pass + else: + pass + + + + + return render_template('login.html',form=form) + +@app.route('/signup') +def signup_user(): + + return render_template('selection.html') + +@app.route('/student',methods=['GET','POST']) +def student_signup(): + form=User_register() + if form.validate_on_submit(): + dept_select=request.form.get('Department') + gender_type=request.form.get('gender') + hstl=request.form.get('place') + user_create=user(username=form.username.data,rollno=form.rollno.data,dept=dept_select, + batch=form.batch.data,gender=gender_type,hostelers=hstl,password1=form.password1.data) + db.session.add(user_create) + db.session.commit() + return redirect(url_for('home')) + + return render_template('student_signup.html',form=form) + + +@app.route('/faculty',methods=['GET','POST']) +def faculty_signup(): + form=User_register() + if form.validate_on_submit(): + + gender_type=request.form.get('gender') + hstl=request.form.get('place') + user_create=user(username=form.username.data,rollno=form.rollno.data,dept='', + batch='',gender=gender_type,hostelers=hstl,password1=form.password1.data) + db.session.add(user_create) + db.session.commit() + return redirect(url_for('home')) + return render_template('faculty_signup.html',form=form) + + +@app.route('/Home') +def front_page(): + return render_template('front_page.html') + +@app.route('/profile') +def profile_page(): + return render_template('profile.html') diff --git a/main_app/Connecx/templates/base.html b/main_app/Connecx/templates/base.html new file mode 100644 index 0000000..11b286a --- /dev/null +++ b/main_app/Connecx/templates/base.html @@ -0,0 +1,47 @@ + + + + + + + + + {% block title%} + {%endblock%} + + + + + + + + {%block content%}{%endblock%} + + + + + + + + + + + + + + diff --git a/main_app/Connecx/templates/faculty_signup.html b/main_app/Connecx/templates/faculty_signup.html new file mode 100644 index 0000000..85db3f9 --- /dev/null +++ b/main_app/Connecx/templates/faculty_signup.html @@ -0,0 +1,136 @@ +{% extends 'base.html'%} +{% block title %} +Faculty Signup +{% endblock %} + +{% block content %} + + + + + + + + Bootstrap Site + + + + + + + +
+

Faculty profile :

+
+
+ + {{form.hidden_tag()}} + +
+ + {{form.username(class="form-control")}} + +
+ Required +
+
+
+ + {{form.rollno(class='form-control')}} + +
+ Required +
+
+
+ +
+ +
+
+ + +
+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+ + +
+ + {{form.password1(class='form-control')}} +
+ Required +
+
+
+ + {{form.password2(class='form-control')}}
+ Required +
+
+{{form.submit(class='btn btn-lgbtn-block btn-primary')}} +
+
+
+ + +{%endblock%} \ No newline at end of file diff --git a/main_app/Connecx/templates/front_page.html b/main_app/Connecx/templates/front_page.html new file mode 100644 index 0000000..7e25470 --- /dev/null +++ b/main_app/Connecx/templates/front_page.html @@ -0,0 +1,132 @@ + + + + + + + Connexc + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

:-selvendran

+
Card subtitle
+

Some quick example text to build on the card title and make up the bulk of + the card's content.

+ + +
+ + +
+ +
    +
    +
  • its a very easy answer so i will not answer
  • + + +
    + +
+ +
+
+
+
+
+ + + + + + + + + + + diff --git a/main_app/Connecx/templates/login.html b/main_app/Connecx/templates/login.html new file mode 100644 index 0000000..fe0a706 --- /dev/null +++ b/main_app/Connecx/templates/login.html @@ -0,0 +1,34 @@ +{% extends 'base.html'%} +{% block title %} +Login Page +{% endblock %} + +{% block content %} + + +
+
+ +
+
+

+ Login to your Account +

+
+ {{ form.roll_no.label() }} + {{ form.roll_no(class="form-control", placeholder="Rollno") }} + + {{ form.password1.label() }} + {{ form.password1(class="form-control",type="password", placeholder="Password",) }} +
+ {{ form.login(class="btn btn-lg btn-block btn-primary") }} + + not a user?signup + + + +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/main_app/Connecx/templates/profile.html b/main_app/Connecx/templates/profile.html new file mode 100644 index 0000000..e29880e --- /dev/null +++ b/main_app/Connecx/templates/profile.html @@ -0,0 +1,154 @@ + + + + + + + Profile + + + + + + + + + + + + + + + + +
+

Your Profile :

+
+
+ +
+ ... +
+
Name : Selvendran
+ +
+
    +
  • Roll No :200701229
  • +
  • Department : Computer science and Engineering
  • +
  • Mail : 200701229@rajalakshmi.edu.in
  • +
+
+ + Edit Profile +
+
+
+
+

Your Questions :

+
+
+

Some quick example text to build on the card title and make up the bulk of the + card's content.

+ Delete Question +
+
    +
  • An item
  • +
  • A second item
  • +
  • A third item
  • +
+
+ + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/main_app/Connecx/templates/selection.html b/main_app/Connecx/templates/selection.html new file mode 100644 index 0000000..c68fb70 --- /dev/null +++ b/main_app/Connecx/templates/selection.html @@ -0,0 +1,10 @@ +{% extends 'base.html'%} +{% block title %} +Register Page +{% endblock %} + +{% block content %} + student + Faculty + +{%endblock%} diff --git a/main_app/Connecx/templates/student_signup.html b/main_app/Connecx/templates/student_signup.html new file mode 100644 index 0000000..270cd3e --- /dev/null +++ b/main_app/Connecx/templates/student_signup.html @@ -0,0 +1,150 @@ +{% extends 'base.html'%} +{% block title %} +Student Signup +{% endblock %} + +{% block content %} + + + + + + + Bootstrap Site + + + + + + + +
+

Your profile :

+
+
+
+ {{form.hidden_tag()}} +
+ + {{form.username(class="form-control")}} + + +
+ Required +
+
+
+ + {{form.rollno(class='form-control')}} +
+ Required +
+
+
+ +
+ +
+
+ + {{form.batch(class='form-control')}} +
+ Required +
+
+
+ + +
+
+ +
+ + + + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+ +
+
+ + {{form.password1(class='form-control')}} +
+ Required +
+
+
+ + {{form.password2(class='form-control')}} +
+ Required +
+
+{{form.submit(class='btn btn-lgbtn-block btn-primary')}} +
+ +
+
+ + + + + + + +{%endblock%} diff --git a/main_app/test.py b/main_app/test.py new file mode 100644 index 0000000..fdec961 --- /dev/null +++ b/main_app/test.py @@ -0,0 +1,6 @@ +from Connecx import app + +if(__name__=='__main__'): + app.run(debug=True) + + diff --git a/main_template/AddQuestion.html b/main_template/AddQuestion.html new file mode 100644 index 0000000..827cc9d --- /dev/null +++ b/main_template/AddQuestion.html @@ -0,0 +1,105 @@ + + + + + + + AddQuesion + + + + + + + + + + + +
+
+
+
+
+
Add Question:
+
+
+ + + + +
+
+
+
+
+
+
+ + + + + + diff --git a/main_template/edit_page.html b/main_template/edit_page.html new file mode 100644 index 0000000..8bbb117 --- /dev/null +++ b/main_template/edit_page.html @@ -0,0 +1,188 @@ + + + + + + + Bootstrap Site + + + + + + + + + + + + +
+ +
+

Edit personal info :

+
+
+ + +
+ + +
+ +
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+ Required +
+
+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+ + +
+ + +
+
+
+
+ + + diff --git a/main_template/editpage.html b/main_template/editpage.html new file mode 100644 index 0000000..e66a8bc --- /dev/null +++ b/main_template/editpage.html @@ -0,0 +1,186 @@ + + + + + + + Edit_page + + + + + + + + + + + + +
+ +
+

Edit personal info :

+
+
+ + +
+ + +
+ +
+ + +
+ Required +
+
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+ Required +
+
+
+ + +
+
+ + +
+ Required +
+
+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ + +
+
+ + +
+ + +
+ + +
+
+
+
+ + + diff --git a/main_template/front_page.html b/main_template/front_page.html new file mode 100644 index 0000000..2bb0e2c --- /dev/null +++ b/main_template/front_page.html @@ -0,0 +1,132 @@ + + + + + + + Connexc + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

:-selvendran

+
Card subtitle
+

Some quick example text to build on the card title and make up the bulk of + the card's content.

+ + +
+ + +
+ +
    +
    +
  • its a very easy answer so i will not answer
  • + + +
    + +
+ +
+
+
+
+
+ + + + + + + + + + + diff --git a/main_template/profile.html b/main_template/profile.html new file mode 100644 index 0000000..6e278d7 --- /dev/null +++ b/main_template/profile.html @@ -0,0 +1,154 @@ + + + + + + + Profile + + + + + + + + + + + + + + + + +
+

Your Profile :

+
+
+ +
+ ... +
+
Name : Selvendran
+ +
+
    +
  • Roll No :200701229
  • +
  • Department : Computer science and Engineering
  • +
  • Mail : 200701229@rajalakshmi.edu.in
  • +
+
+ + Edit Profile +
+
+
+
+

Your Questions :

+
+
+

Some quick example text to build on the card title and make up the bulk of the + card's content.

+ Delete Question +
+
    +
  • An item
  • +
  • A second item
  • +
  • A third item
  • +
+
+ + + +
+ + + + + + + + + + + +