A Django-based notes application that allows users to create, organize, and manage their notes with subjects. Features a modern, responsive interface and secure user authentication.
- User authentication (register, login, logout)
- Create, edit, and delete notes
- Organize notes by subjects
- Clean, modern interface
- Responsive design
- Pagination for better performance
- Subject-based organization
- Real-time relative timestamps
- Clone the repository
git clone https://github.com/paulpromise/mcnnotes.git
cd notapp- Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Run migrations
python manage.py migrate- Run the development server
python manage.py runserver-
Create an Azure App Service:
- Runtime stack: Python
- Operating System: Linux
- Python version: 3.10 or later
-
Set up a PostgreSQL database in Azure
-
Configure the following environment variables in Azure App Service:
DJANGO_DEBUG=False DJANGO_SECRET_KEY=your-secret-key AZURE_POSTGRESQL_CONNECTIONSTRING=your-connection-string AZURE_POSTGRESQL_DATABASE=your-database-name AZURE_POSTGRESQL_USER=your-database-user AZURE_POSTGRESQL_PASSWORD=your-database-password AZURE_POSTGRESQL_HOST=your-database-host -
Deploy using Azure CLI or GitHub Actions:
az webapp up --runtime PYTHON:3.10 --sku B1 --name your-app-name
-
Run migrations on Azure:
az webapp ssh cd site/wwwroot python manage.py migrate
- CSRF protection enabled
- Secure password hashing
- Session security
- HTTPS redirect in production
- Secure cookie settings
- PostgreSQL SSL mode required
- Environment-based configuration
- Protected static files
- SQLite Database Integration
- Python
- Django Web Framework
- SQLite Database
- HTML/CSS
- Bootstrap (for styling)
-
Clone the repository:
git clone https://github.com/paulpromise/mcnnoteapp.git cd mcnnoteapp -
Install requirements:
pip install -r requirement.txt
-
Run migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Visit
http://localhost:8000in your web browser
This application is configured for deployment on Azure App Service with SQLite database integration.
notes/- Main application directory containing views, models, and formstemplates/- HTML templates for the applicationstatic/- Static files (CSS, JavaScript)notapp/- Project settings and configuration
This project is open source and available under the MIT License.
Created by Paul Promise