• Stars
    star
    4,191
  • Rank 10,329 (Top 0.3 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 1 year ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Your own API Hub to learn and master API interaction. Ideal for frontend, mobile dev and backend developers.

FreeAPI.app

Problem

We are trying to build a single source API hub that can be used to learn api handling in any programming language. Users can build their front end portfolio in web and mobile apps using this api hub.

What is FreeAPI.app

The FreeAPI project is an innovative and community-driven initiative aimed at providing developers with free and accessible APIs for their projects.

The project focuses on delivering a wide range of APIs that cater to various domains and functionalities, enabling developers to seamlessly integrate these APIs into their applications.

Key highlights of the FreeAPI project include:

  1. Accessibility: The FreeAPI project is committed to eliminating barriers by providing free access to its collection of APIs. Developers can leverage these APIs without any cost limitations, allowing them to experiment, learn, and build innovative applications.

  2. Diverse API Collection: The project offers a diverse and comprehensive collection of APIs that span across different industries, domains, and functionalities. Whether you require social media integrations, payment gateways, machine learning algorithms, or IoT device connectivity, the FreeAPI project has you covered.

  3. Simplified Integration: The FreeAPI project understands the challenges developers face when integrating APIs into their applications. To address this, the project provides clear documentation, code samples, and SDKs, simplifying the integration process and reducing development time and effort.

  4. Community-Driven Development: The project fosters a vibrant and collaborative community of developers. Contributors are encouraged to share their knowledge, engage in discussions, and collaborate on API-related projects. This collective effort ensures the continuous improvement and reliability of the APIs offered by the FreeAPI project.

  5. Learning and Skill Development: The FreeAPI project aims to empower developers by providing a platform for learning and skill development. Through access to various APIs and educational resources, developers can enhance their understanding of API integration, expand their knowledge, and showcase their expertise through building complete projects.

Overall, the FreeAPI project is a valuable resource for developers seeking accessible and diverse APIs.

By fostering a supportive community, the project empowers developers to learn, create, and innovate, ultimately contributing to the growth and advancement of the API integration landscape.

Features:

Introducing our groundbreaking open source API hub project, a dynamic platform designed to revolutionize the way developers interact with APIs.

With an emphasis on openness, accessibility, and learning, our API hub empowers developers of all levels to explore, experiment, and grow their skills in API integration.

Highlights:

  1. Open Source: Our API hub is built on the principles of open source, ensuring transparency, collaboration, and community-driven development. This means that the source code is freely available, allowing developers to customize, extend, and contribute to the project.

  2. Free to Use: We firmly believe in removing barriers to entry, which is why our API hub is completely free to use. Whether you're a seasoned developer or just starting your coding journey, you can leverage our platform without any cost limitations.

  3. Local or Deployment: Flexibility is at the core of our API hub. You have the option to use it locally, running on your own machine, or deploy it to a server, making it accessible to others. This versatility ensures that you can adapt the platform to your specific development environment.

  4. Learning Resource: Our API hub is designed as a comprehensive learning resource, offering a wealth of educational materials, tutorials, and documentation. Whether you're a beginner or seeking to expand your API knowledge, our platform provides the resources you need to learn and improve.

  5. Custom Endpoints for Beginners: For developers at the beginner level, our API hub offers custom endpoints that provide a hands-on experience in handling API responses. These beginner-friendly APIs allow you to practice and familiarize yourself with the basics of working with APIs.

  6. Advanced APIs for Portfolio Building: In addition to beginner-level endpoints, our API hub also provides advanced APIs to challenge and stretch your skills. These APIs enable you to tackle more complex integration scenarios, helping you build a robust portfolio of projects to showcase your expertise.

By combining open source principles, accessibility, and a focus on learning, our API hub project paves the way for developers to thrive in the world of API integration. Join our vibrant community and embark on an exciting journey of discovery, growth, and innovation.

How to contribute - Guidelines

We welcome your interest in contributing to our open source project!

To contribute to FreeAPI, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix: git checkout -b feat/your-feature-name or git checkout -b fix/your-bug-fix-name.
  3. Make your changes and commit them using conventional commit messages: git commit -am "feat: Add new feature". For more details on the commit format and other guidelines, please refer to the Contributor Guidelines.
  4. Push your changes to your forked repository: git push origin feat/your-feature-name.
  5. Submit a pull request to the main repository, explaining the changes you've made and providing any necessary details.

Here's a guide on how you can effectively contribute to our API hub:

  1. Pull Requests for Readme Updates: Please refrain from sending pull requests solely for updating the project's readme file. While we appreciate the importance of clear and concise documentation, we prefer to focus on substantial code contributions and feature enhancements.

  2. Grammar Updates: Our team values effective communication, but we're not grammar sticklers. You don't need to send pull requests solely for grammar fixes or minor language improvements. Instead, concentrate on the core functionalities and features of the project.

  3. Avoid Updating Existing Public APIs: To maintain stability and consistency, we discourage direct updates to existing public APIs within the API hub. These APIs have been thoroughly tested and approved. However, if you encounter any bugs or issues, we encourage you to open an issue on our project's issue tracker to notify us.

  4. Build New Project APIs: We encourage you to explore your creativity and contribute by building complete project APIs. These APIs should provide comprehensive solutions that can assist developers in constructing complex projects to showcase their skills and abilities. Your contributions in this area will greatly benefit the community.

  5. Draft a Proposal and Discuss on Discord: Before diving into your project, we recommend drafting a proposal. This can include a mind map or outline of the API you intend to build and its potential benefits. Join our Discord community, where you can share your proposal, discuss ideas, and gather feedback from fellow contributors. Engaging in these discussions will enhance your backend portfolio and help shape the future direction of the project.

We appreciate your enthusiasm and look forward to your valuable contributions to our open source API hub project.

Together, we can foster a collaborative environment and make a significant impact in the API integration landscape.

Click here for detailed contribution guide.

🏁 Installation

πŸ“¦ Using Docker (recommended)

To run the FreeAPI project, follow these steps:

  1. Install Docker on your machine.
  2. Clone the project repository.
  3. Navigate to the project directory.
  4. Create .env file in the root folder and copy paste the content of .env.sample, and add necessary credentials.
  5. Run the Docker Compose command:
docker-compose up --build --attach backend

# --build: Rebuild the image and run the containers
# --attach: only show logs of Node app container and not mongodb
  1. Access the project APIs at the specified endpoints.

πŸ’» Running locally

To run the FreeAPI project locally, follow these steps:

  1. Install Yarn, NodeJs, MongoDB and MongoDB Compass (optional) on your machine.
  2. Clone the project repository.
  3. Navigate to the project directory.
  4. Create .env file in the root folder and copy paste the content of .env.sample, and add necessary credentials.
  5. Install the packages:
yarn install
  1. Run the project:
yarn start
  1. Access the project APIs at the specified endpoints.

πŸš„ Using Railway (One-click Deploy)

To self-host the FreeAPI.app application, you can take advantage of a pre-built template that is readily available.

Deploy FreeAPI.app

  1. Click the button above to visit railway.app.

  2. Click on the Deploy Now button.

  3. (Optional) Sign in with GitHub to deploy.

  4. Fill in the Repository details:

    • Specify the repo name (e.g., freeapi-app).
    • Checkmark for Public/Private repository.
  5. For Environment variables, we have provided some default values in the ENV to reduce the burden, but some parameters are mandatory:

    • PORT: Do not change the value, let it be set to 8080 to view the swagger docs after deployment.
    • MONGODB_URI: Provide the MongoDB Atlas database URL. An example is prefilled for you, edit/update it to continue.
    • NODE_ENV: Default set to 'development' to view the logs. You may choose to change it to any other value such as 'prod' to hide them.
    • EXPRESS_SESSION_SECRET: It is advised to change the default value to your own secret value.
    • ACCESS_TOKEN_SECRET: It is advised to change the default value to your own secret value.
    • ACCESS_TOKEN_EXPIRY: Set to 1 day as default.
    • REFRESH_TOKEN_SECRET: It is advised to change the default value to your own secret value.
    • REFRESH_TOKEN_EXPIRY: Set to 10 days as default.
  6. Once you fill in the required environment parameters, if you choose to add others such as PayPal, Google, and Razorpay, please proceed to mention your credentials in the form.

  7. Click on the Deploy button to trigger the first build.

    • Monitor the server logs; if you come across any deployment problems, feel free to raise an issue for our team to look into.

Note: Once the application is deployed, please wait for 3-5 minutes for the swagger docs to be available.

πŸ“œ Swagger Docs

Swagger Docs: http://localhost:8080

More Repositories

1

chai-aur-react

chai aur react series on youtube
JavaScript
8,011
star
2

chai-backend

A video series on chai aur code youtube channel
JavaScript
5,088
star
3

js-hindi-youtube

A code repo for javascript series at Chai aur code youtube channel
JavaScript
3,086
star
4

React-native-projects

Learn React native with this free series on youtube (powered by Hashnode)
Java
574
star
5

nextjs-fullstack-auth

nextjs-fullstack-auth course on youtube
TypeScript
506
star
6

react-english

A fun react series in future
JavaScript
462
star
7

chai-aur-python

A python series for beginner in python
Python
457
star
8

open-source-contribution

A repo to contribute in open source via README only. A dream repo for open source beginner
Assembly
360
star
9

golang

A series on golang - Code files
Go
322
star
10

docker-databases

A repo to have popular databases up and running in seconds with docker
305
star
11

ama-app

TypeScript
294
star
12

typescript-youtube-22

Typescript series on Youtube - 2022
TypeScript
293
star
13

Music-school-hindi

A basic introduction to nextjs with awesome UI
TypeScript
218
star
14

pro-backend-developer

A pro backend developer course
JavaScript
195
star
15

batchone

A full stack project for e-comm - this is backend part
JavaScript
190
star
16

appwriteblog

A sample application to deploy appwrite blog
JavaScript
186
star
17

devui

A complete front end solution for learners
JavaScript
177
star
18

dom-project-chaiaurcode

Created with StackBlitz ⚑️
HTML
175
star
19

vscode-theme

A teaching friendly theme for vscode
163
star
20

live-code-session

A discussion over creating a backend for e-comm app
JavaScript
163
star
21

freeApiAppWeb

JavaScript
146
star
22

chaibackend

a fun test app for backend
JavaScript
141
star
23

nextjs-appwrite-auth

TypeScript
135
star
24

stackflow-appwrite

A stackoverflow inspired project with Appwrite and NextJS
TypeScript
134
star
25

video-streaming

A video tutorial on video streaming platform from scratch
JavaScript
126
star
26

fun-with-tailwind

A fun repo to play with tailwind
CSS
125
star
27

chaiui-backend

JavaScript
122
star
28

pwjs1

A code repo for pw javascript classes
JavaScript
118
star
29

React-application

React files for course
JavaScript
106
star
30

ai-saas-cloudinary

ai-saas-cloudinary
TypeScript
105
star
31

chai-aur-cpp

chai aur cpp series on youtube
C++
102
star
32

BackEndNodeJS

Exercise file for complete backend developer with NodeJS
HTML
96
star
33

getHelloWorldweb

A web app to connect people on internet
TypeScript
94
star
34

Airvengers

A GUI to pentest wifi Network, based on Aircrack-ng tools
Python
93
star
35

git-hindi

a test repo
87
star
36

leetcode-javascript

All leetcode solution in javascript
HTML
86
star
37

youtube-ai-search

youtube-ai-search
JavaScript
84
star
38

kubernetes-mern-app

Config files to deploy MERN app using kubernetes
82
star
39

iOSDev

A course for iOS development using SwiftUI
Swift
82
star
40

Zustand-crash-course

A crash course on React state management library | Zustand
JavaScript
81
star
41

fastify-crash-course

Repo for code files from fastify crash course
JavaScript
79
star
42

ReactNativeBootcamp

React native bootcamp files for LearnCodeOnline
JavaScript
72
star
43

prisma-crash-course-22

prisma-crash-course-22
JavaScript
65
star
44

crawlee-project

TypeScript
64
star
45

tempcpp

cpp test
61
star
46

web-dev-21

Learn web development and code files for course is here
HTML
57
star
47

testbook

54
star
48

basic-server-check

JavaScript
51
star
49

express-digi

just a test repo, will surely delete it later
JavaScript
50
star
50

appsmith-auth-todo

Appsmith authentication with todo application in reactjs
JavaScript
47
star
51

AndroidPExerciseFiles

Android P with Machine Learning Apps
Java
43
star
52

expressjs-mongoose

TypeScript
41
star
53

codespace-auth-22

An auth system totally designed in github codespace
JavaScript
41
star
54

LCO-sports-web-challenge

41
star
55

javascript-youtube

A repo for javascript series on youtube and in some courses too
JavaScript
40
star
56

DjangoExercise1

1st push for DjangoExercise
Python
37
star
57

React-youtube-api

React-youtube-api
JavaScript
35
star
58

JavaExercise

First commit for Java Exercise files
Java
33
star
59

saas-clerk-template

saas-clerk-template
TypeScript
32
star
60

lco-graphql

A standard babel setup
JavaScript
31
star
61

webpack-youtube-21

code files for webpack crash course | youtube 21
JavaScript
26
star
62

AndroidOExerciseFiles

Java
26
star
63

test-live-class

A temp repo for the teaching purpose
HTML
25
star
64

angular-course-files-22

Angular course files
TypeScript
22
star
65

youtube-winston

Winston video for youtube
JavaScript
22
star
66

Angry-Analyzer

Angry Analyzer is a wifi packet analysis tool that can create graphs from captured packet fields. One can export wifi captured packets to csv file using Aircrack-ng set of tools and Angry Analyzer can plot graphs from that csv file
JavaScript
21
star
67

docker-youtube

A repo for docker series on youtube
JavaScript
21
star
68

react-auth0-login-with-github-API

react-auth0-login-with-github-API
JavaScript
19
star
69

SwiftUI-Crash-course-21

Swift UI Crash course - building Mock test view of LCO
Swift
18
star
70

ios11ExerciseFiles

this is public repo for course exercise files
C++
18
star
71

FirebaseContactAppStart

React Native CRUD app for firebase
JavaScript
16
star
72

loginegg

A project for frontegg implementation
JavaScript
16
star
73

react-api-basics-axios-reddit

JavaScript
15
star
74

react-sample-blog-applicatioan

Sample app in react to learn about components
JavaScript
15
star
75

react-survey-with-firebase

react-survey-with-firebase
CSS
15
star
76

gitexplore

exploring git
JavaScript
14
star
77

lcodev

Temp hosting for lco.dev main page
CSS
14
star
78

reacttest

AWS test react
JavaScript
14
star
79

paymentr-bugs

A repo to track, report and update bug situation
13
star
80

angular20LCO

Angular course code files
13
star
81

Kotlinfiles

Kotlin files here
Kotlin
13
star
82

react-login-with-firebase

react-login-with-firebase
JavaScript
13
star
83

katacoda-test

13
star
84

HCBorderMe

This is first cocoapod tutorial
Swift
13
star
85

reacy-course-purchase-cart

JavaScript
12
star
86

react-stop-watch

sample react app using date time module
JavaScript
11
star
87

katacoda-scenarios

Katacoda Scenarios
11
star
88

lco-serverless-20

HTML
11
star
89

ios10ExerciseFiles

iOS course
Swift
10
star
90

test

Swift
8
star
91

ios10XcodeTour

Swift
8
star