Sign inSign up

rashmithadesilva/restcountries_api

By rashmithadesilva

Updated over 1 year ago

Expressjs API with auth, key management, Redis sessions, and country data for RestCountries platform

Image
0

395

rashmithadesilva/restcountries_api repository overview

🔴 Backend/API – restcountries-secure-api

This Dockerized backend service is the secure API for the RestCountries Secure API platform, built with Express.js using ECMAScript Modules (.mjs).

🌐 Overview

The backend acts as a middleware between users and RestCountries.com, enabling secure access to country data and providing a robust user authentication system.

✨ Features

  • Secure Country Data Access
    Access information about countries, including:

    • Name
    • Capital
    • Currency
    • Language
    • Flag
  • Full User Authentication System

    • Registration and login with password hashing
    • Secure user authentication with Passport.js
  • Robust Session Management
    Session handling powered by Redis.

  • Complete API Key Lifecycle
    Manage API keys with the ability to:

    • Create, regenerate, rename, and delete keys.
  • Analytics Dashboards
    Admin and user dashboards to monitor activity and usage.

  • Built-in Security

    • CSRF protection
    • Input validation
    • API access enforcement via keys.
  • Database Support
    Supports MySQL for production and SQLite for development.

🛠️ Tech Stack

  • Express.js (ESM)
  • Redis
  • MySQL/SQLite
  • Docker
  • Passport.js
  • Swagger (for API documentation)

🚀 Deployment

Ready for deployment via Docker Compose, ensuring a streamlined and scalable deployment process for production environments.


A powerful backend system designed to provide secure, flexible, and scalable country data APIs with robust user authentication and session management.

Tag summary

Content type

Image

Digest

sha256:de60cd167

Size

82.8 MB

Last updated

over 1 year ago

docker pull rashmithadesilva/restcountries_api