A feature-rich Django web application for creating, managing, and sharing notes and blog posts.
Visit the live application: StickyNotes on Render
- 📝 Create, edit, and delete notes/blog posts
- 👤 User authentication and profiles
- 🖼️ Image upload with Cloudinary integration
- 🔍 Post search functionality
- 📱 Responsive design
- ✍️ Rich text editor (TinyMCE)
- Backend: Django 5.1
- Frontend: HTML, CSS, Bootstrap 5
- Database: SQLite (development) / PostgreSQL (production option)
- Deployment: Render with ASGI (Uvicorn)
- Media Storage: Cloudinary
- Text Editor: TinyMCE
- Authentication: Django built-in authentication
- Python 3.8+
- Git
- Cloudinary account
-
Clone the repository
git clone https://github.com/yourusername/stickynotes.git cd stickynotes -
Create a virtual environment
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Create a
.envfile with the following variablesSECRET_KEY=your-secret-key DEBUG=True CLOUDINARY_CLOUD_NAME=your-cloud-name CLOUDINARY_API_KEY=your-api-key CLOUDINARY_API_SECRET=your-api-secret USER_EMAIL=your-email@example.com USER_PASS=your-email-password -
Run migrations
python manage.py migrate
-
Create a superuser
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Visit
http://127.0.0.1:8000/in your browser
- Register a new account or log in
- Create posts via the "New Post" option
- View, edit, or delete your posts from your profile
- Upload a profile picture in your profile settings
- Search for posts using the search bar
This application is deployed on Render using ASGI (Uvicorn). The live version can be accessed at:
https://stickynotes-zcme.onrender.com/
-
Create a
build.shfile in your project root:#!/usr/bin/env bash set -o errexit pip install -r requirements.txt python manage.py collectstatic --no-input python manage.py migrate
-
Set up environment variables on Render:
- SECRET_KEY
- DEBUG (set to False)
- ALLOWED_HOSTS
- CSRF_TRUSTED_ORIGINS
- CLOUDINARY credentials
- Email settings
-
Start command for Render:
uvicorn stickynotes.asgi:application --host 0.0.0.0 --port $PORT
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Django documentation and community
- Bootstrap for the frontend framework
- Cloudinary for media storage solution
- Render for the hosting platform
© 2025 StickyNotes. All rights reserved.