ApiNotes is a RESTful API built with C# and .NET 7.0. It provides a simple and secure way to manage notes and notebooks. The API is designed to be consumed by any client capable of making HTTP requests.
- User Authentication: Register and login to access the API.
- Notebooks: Create, update, retrieve, and delete notebooks.
- Notes: Create, update, retrieve, and delete notes within a notebook.
POST /api/Authentication/login: Login with email and password.POST /api/Authentication/register: Register with email and password.GET /api/Authentication/logout: Logout the current user
PUT /api/Notebook: Upsert a notebook with the provided title.GET /api/Notebook: Get all notebooks.GET /api/Notebook/{id}: Get a notebook by its id.DELETE /api/Notebook/{id}: Delete a notebook by its id.
GET /api/Note: Get all notes from a notebookId.GET /api/Note/{id}: Get a note by its id.PUT /api/Note: Upsert a note into a notebook with the provided data.DELETE /api/Note/{id}: Delete a note by its id.
- Clone the repository.
- Setup your enviroment keys locally to your own database for tests.
- Run the application.
- .NET 7.0
- Supabase: Used for database operations and user authentication.
- Swashbuckle: Used for API documentation.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.