Skip to content

Mugisha146/portifolio-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portfolio-backend API

How to use portfolio-backend API

Table of contents

Welcome to the Portfolio-backend API! This API serves as the backend for managing user accounts, blog posts, contact messages, projects, skills, and subscriptions. It provides various endpoints to interact with different entities within the system and built with Node.js, ExpressJS with Typescript and MongoDB.

Getting Started

To get started with the Portfolio-backend API, follow these steps:

Installation

To get started with the Portfolio-backend API, follow these steps:

1.Clone the Repository:

git clone https://github.com/Mugisha146/portfolio-backend.git
  1. Navigate to the project directory:
cd portfolio-backend

3.Install Dependencies:

npm install ts-node --save-dev

4.Set Environment Variables: Create a .env file in the root directory and add necessary environment variables. You may need to set variables like PORT, MONGODB_URI, and JWT_SECRET.

  1. Build the project:
npm run build

6.Start the Server:

npm start 

7.Explore the API: Once the server is running, you can explore the API endpoints using tools like Postman or swagger.

API Documentation

For detailed documentation on the API endpoints and how to interact with them, refer to the API Documentation. swagger API documentation

Running Tests

How to run tests:

$ npm run test

Technologies Used

  • Node.js: Backend JavaScript runtime environment.
  • Express.js: Web application framework for Node.js used for building APIs.
  • MongoDB: NoSQL database used for storing data.
  • Mongoose: MongoDB object modeling for Node.js.
  • JSON Web Tokens (JWT): Used for user authentication and authorization.
  • Swagger/OpenAPI: Used for API documentation.

Contributing

Contributions are welcome! If you have suggestions for improvements, please fork the repository and create a pull request with your changes.

Releases

No releases published

Packages

No packages published