Tech Notes Plus , that lets user to take notes. User can take notes, add them, edit them delete them, search them and even can share them with other users for view only.
-
Create user with username, email and password.
-
Used JWT for register and login (Couldn't implement properly).
-
Update user's name and email. Password reset no available.
-
Add, edit, delete and share note. Note sharing from frontend is not available.
-
Search notes from frontend is not available.
-
Notify user with whom note is shared via email.
-
If the note shared is not viewed by the user, then a periodic task will notify user via email daily at 12PM (UTC).
-
Python version supported: 3.8+
-
Django version: 3.2.6
-
DRF version: 3.12.4
-
Database: PostgreSQL
-
Frontend: Vue2
-
Clone the project
git clone [email protected]:adnan-alam/technotesplus.git
-
Install virtualenv if not installed on system
# package to create virtual environment pip install virtualenv
-
Go to dir technotesplus, create a virtual environment env
virtualenv -p /usr/bin/python3.8 env
-
Create a .env file, copy the environment variables from env_vars_example into .env and set the required values.
-
Activate the virtual environment
source env/bin/activate
-
Install all Python the dependencies
pip install -r requirements.txt
-
Run database migrations:
./manage.py migrate
-
Create Superuser:
./manage.py createsuperuser
need to provide the username, email and password.
-
Run the development server
./manage.py runserver
and the Django server will be available on
http://127.0.0.1:8000/
. -
For task scheduling, huey is being user. It has dependency of Redis, so it must be installed on the system. Run the consumer:
./manage.py run_huey
-
Go to frontend directory, install packages:
npm install
-
Run the development server:
npm run dev
frontend will be available on
http://127.0.0.1:8080/
.