Skip to content

Latest commit

 

History

History
131 lines (99 loc) · 2.91 KB

README.md

File metadata and controls

131 lines (99 loc) · 2.91 KB

NovaSync - Streamlining Your Schedule with Ease

Tech Stack:

  1. Node.js
  2. Express.js
  3. PostgreSQL
  4. Sequelize ORM
  5. Passport.js
  6. Docker

Getting Started:

1. Clone the Repository:

2. Install Dependencies:

3. Set Up PostgreSQL:

  • Install PostgreSQL and configure necessary environment variables for your project.

4. Testing with Postman/ThunderClient:

  • Run the API and test using Postman or ThunderClient.

Registration and Login:

1. Register User:

  • Endpoint: localhost:3000/user/register [POST]
  • Request Body Example:
    {
        "username": "Naruto",
        "email": "[email protected]",
        "password": "uzumaki"
    }

2. Login:

  • Endpoint: localhost:3000/user/login [POST]
  • Request Body Example:
    {
        "email": "[email protected]",
        "password": "uzumaki"
    }
  • JWT Token will be generated.
  • Use the token in the Bearer token under the auth header for authorization.

3. Email Notifications:

  • Receive email notifications upon successful registration or login.

Create Reminder:

  • Endpoint: localhost:3000/task [POST]
  • Request Body Example:
{
   "reminder": "Read Rust Docs",
   "description": "Learn Rust to thrive in the Solana ecosystem",
   "date": "2024-01-26",
   "time": "18:00"
}

Schedule Agenda:

  • Endpoint: localhost:3000/task [POST]
  • Request Body Example:
{
    "agenda": "Attend Ethindia Hackathon",
    "mode": "offline",
    "location": "Bangalore",
    "description": "Sanjay is going to attend Ethindia Hackathon, the world's biggest Ethereum hackathon",
    "date": "2024-01-26",
    "time": "18:00"
}

Delete Agenda/reminder:

  • Endpoint: localhost:3000/task [DELETE]
  • Request Body Example:
{
    "agenda": "Attend Ethindia Hackathon"
}

or

{
    "reminder": "Read Rust Docs"
}

register

login

Screenshot from 2024-01-11 02-02-27

Get email notifications once the agenda is scheduled and at the specified time.

Load Test Summary with Artillery

Test Duration

The load test ran for 1 minute and 1 second.

Request Load

  • Total Requests: 1200
  • Request Rate: 20 requests per second

HTTP Response Time

  • Minimum Response Time: 64 milliseconds
  • Maximum Response Time: 203 milliseconds
  • Mean Response Time: 78.7 milliseconds
  • Median Response Time: 74.4 milliseconds
  • P95 (95th percentile): 106.7 milliseconds
  • P99 (99th percentile): 133 milliseconds

HTTP Status Codes

  • 200 OK: 600 requests
  • 201 Created: 1 request
  • 500 Internal Server Error: 599 requests

Enjoy a well-organized schedule with NovaSync!