Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SecretNote-(API/SPA)-Abdelrahman-Mahmoud #237

Open
17 tasks
abdahmed22 opened this issue Jul 16, 2024 · 0 comments
Open
17 tasks

SecretNote-(API/SPA)-Abdelrahman-Mahmoud #237

abdahmed22 opened this issue Jul 16, 2024 · 0 comments

Comments

@abdahmed22
Copy link

Secret Note Sharing Application

Create a web application that allows users to securely share self-destructing secret notes.

Requirements:

Note Creation:

  • Users can create a note with text content
  • Generate a unique, secure URL for each note
  • Set an expiration time or number of views before destruction

Note Retrieval:

  • Users can view a note using the unique URL
  • After viewing or upon expiration, the note is permanently deleted

Security Features:

  • Use secure random generation for URLs (should be able to browse /note/1, /note/2, etc. The URLs shouldn't be predictable)

Backend:

  • Swagger docs for the API
  • Develop a restful API using Go
  • Use a database (e.g., sqlite or postgresql) for storing the notes

Frontend:

  • Create a simple, responsive UI using Vue

Authentication:

  • Implement rate limiting to prevent abuse

Testing:

  • Write unit and integration tests for the backend
  • Postman collections for testing
  • Implement end-to-end tests for critical user flows

Deployment:

  • Containerize the application using Docker
  • Create a docker-compose file for easy local deployment

Optional:

  • Encrypting the notes in the database

Acceptance Criteria:

Notes can be securely created, shared, and destroyed
Docker deployment works as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant