This Django application is designed to manage notes with user authentication and CRUD (Create, Read, Update, Delete) functionalities. It uses PostgreSQL as the database and is containerized with Docker for both the backend and the database.
- Docker: Ensure Docker is installed on your machine.
- Docker Compose: Make sure Docker Compose is installed.
-
Clone the Repository
git clone [email protected]:nimaqalizadeh/manage-notes.git cd manage-notes
-
Build and Start Containers
docker compose up --build
-
Database Migrations
The migrations are handeled in Dockerfile
file.
- User Registration and Authentication
- Register:
/accounts/register
- Login:
/accounts/login
- Logout:
/accounts/logout
Register a new user, log in, and log out to manage your note records.
- Note Management
After logging in, you can manage your notes through the following URL:
- View and Add Notes:
/notes/
Use the form to add new notes. This operation is handled via AJAX.
- API Endpoints
The application provides a RESTful API for managing notes (Only authenticated users can access this endpoint):
-
List and Create Notes:
GET /notes/api/v1/list
andPOST /notes/api/v1/list
-
Read, Update, and Delete Notes:
GET /notes/api/v1/detail/<id>/
,PUT /notes/api/v1/detail/<id>/
,DELETE /notes/api/v1/detail/<id>/
This project is licensed under the MIT License.
Feel free to submit issues and pull requests to contribute to this project.