ECM2434 Group D Software Engineering Project
4ums is a platform that offers students a ground for creating communities where they can interact with each other, as well as with their lecturers. In addition, 4ums consists of a gamification aspect to encourage students to be part of communities and help each other.
Some features 4ums offers:
- Ability to freely register and login as well as apply for a teacher/lecturer account.
- Ability to join/create communities.
- Ability to interact with a community by creating posts/liking/commenting.
- Display a customisable profile with all users and some users outside the application.
- Point system for gamification aspect, including leaderboard.
First set up you python virtual environment and activate it.
$ python -m venv .venv
$ .venv\Scripts\activate.bat # Windows
$ .venv\bin\activate # Linux
Then install python dependencies:
pip install -r requirements-nondeploy.txt
Do your migrations (create your development database):
python manage.py migrate
Run the django server using:
python manage.py runserver
cd frontend
npm install
Note: When you pull changes that others have made, you may want to do npm install
again to ensure any additional dependencies have been added.
Now to build the frontend, there are two ways:
Watches for any changes in the filetree and recompiles when detects a change
npm run watch
Compiles and minifies for production
npm run build
Run the bootstrap to autogenerate some dummy data using:
python manage.py bootstrap
Note: Do this after migrating for the first time.
Make sure you apply black to the root of the project using:
black .
Then apply the tests:
python manage.py test
This may be due to a database update. Simply drop you current database and create a new one as follows:
- Delete
db.sqlite3
file - Run
python manage.py migrate