This project is a full-stack application designed to securely manage user notes. The backend provides secure API endpoints for user authentication and note storage, while the frontend handles the user interface and routing.
You can access the live, deployed application here:
🔗 Application URL: https://note-keeper-1-2ifn.onrender.com/login
- Secure Authentication: Uses Django REST Framework Simple JWT for token-based authentication (
/api/token/and/api/user/register/). - Scalable Backend: Built with Django and served by Gunicorn on Render.
- Persistent Data: Uses a PostgreSQL database for reliable data storage.
- Frontend Routing (SPA): The frontend handles client-side routing for pages like
/login,/register, and/notes.
| Component | Technology | Role |
|---|---|---|
| Backend Framework | Django, Django REST Framework | API structure, models, and security. |
| API Authentication | djangorestframework-simplejwt | Token generation and verification. |
| Database | PostgreSQL | Production data storage. |
| Deployment | Render, WhiteNoise | Hosting, scaling, and serving static/frontend assets. |
| Production Server | Gunicorn | WSGI HTTP server for production. |
To run this project locally, follow these steps:
- Clone the Repository:
git clone [Your Repository URL] cd note-keeper-app - Backend Setup (Python):
# Create and activate a virtual environment python -m venv venv source venv/bin/activate # Install dependencies pip install -r requirements.txt # Run migrations and start the Django server python manage.py migrate python manage.py runserver
- Frontend Setup (Node.js):
cd frontend npm install npm start # Or the relevant command to start the frontend dev server
(Note: You will need to set up environment variables for your local PostgreSQL database and Django SECRET_KEY in a .env file.)