This repository is for the WAD2 Team Project.
Connectercise is a web application in which users can connect with other users to do sport together. Users can add sports (which act like categories) and under each sport, there can be various requests, which are also created by the users.
This repository uses a virtual environment with specific packages, therefore it is essential to activate the environment and installing the packages before running the application.
$ git clone https://github.com/ineshbose/connectercise_project
$ cd connectercise_project
If you haven't already created a virtual environment, you can do using Anaconda.
$ conda create -n connectercise python=3.8.0
$ conda activate connectercise
A requirements.txt
file mentions all the packages along with their versions used for this project. You can install them using:
(connectercise)$ pip install -r requirements.txt
The main Python file is manage.py
. It is important to makemigrations
and migrate
before running the app. This is done by
(connectercise)$ python manage.py makemigrations
(connectercise)$ python manage.py migrate
It is recommended that you also run the population script before.
(connectercise)$ python populate_connectercise.py
The app can be run using
(connectercise)$ python manage.py runserver
and then use a browser to go to http://127.0.0.1:8000/
The test Python file is connectercise\tests.py
. It includes tests for models (connectercise\models.py
), population script (populate_connectercise.py
) and forms (connectercise\forms.py
). This file can be run using
(connectercise)$ python manage.py test
This project counts for 40% of the final grade for the course. This is further divided into three parts.
The design specification (a PDF providing a whole range of details regarding the design of the web application intended to implement) counts for 10% of the 40%. It is graded out of 20 marks and should include:
- an overview of the application
- user personas
- specifications i.e. minimal list of requirements
- a high-level system architecture diagram
- an ER diagram
- wireframes
The presentation counts for 5% of the 40%. It should include:
- a description of the design of the application, using some material from the design specification
- an overview of the technologies used
- a brief summary of the contributions of each team member
- a demonstration of the web application
Note: Due to COVID-19, this presentation was done in the form of a video.
The application / project is worth 25% of the 40%, graded out of 50 marks, and should be developed using Python, Django, HTML, CSS and associated technologies including JavaScript, JQuery and AJAX. The basic expectations include:
- the app should involve user authentication
- it should certainly interact with some kind of model stored in a database
- it should be visually appealing and have an intuitive user interface
- overall the functionality supported should be rich enough in order to demonstrate an understanding of the technologies listed above
- Bootstrap: a CSS, JavaScript and HTML framework used to develop highly-responsive websites
- Django: a web application framework written in Python
- Django-Crispy-Forms: helps render and style forms in a neat and simple way
- Django-Extensions: a collection of custom extensions for the Django Framework
- Django-Location-Field: a location field that supports maps and lets users pick locations
- Django-Registration: provides user registration functionalities
- JavaScript Libraries: some open-source JavaScript libraries that helped create this project; the files include URLs to the organisations
- jQuery: a JavaScript library which simplifies programming operations
- Pillow: a fork of PIL (Python Imaging Library)
The following are the members of Lab 13 (Team B):
More on Behance.