• Stars
    star
    2,912
  • Rank 14,989 (Top 0.4 %)
  • Language
    JavaScript
  • License
    Other
  • Created 12 months ago
  • Updated 7 days 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
4,935
star
2

chai-backend

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

js-hindi-youtube

A code repo for javascript series at Chai aur code youtube channel
JavaScript
2,075
star
4

React-native-projects

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

nextjs-fullstack-auth

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

react-english

A fun react series in future
JavaScript
326
star
7

chai-aur-python

A python series for beginner in python
Python
266
star
8

typescript-youtube-22

Typescript series on Youtube - 2022
TypeScript
255
star
9

golang

A series on golang - Code files
Go
246
star
10

docker-databases

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

batchone

A full stack project for e-comm - this is backend part
JavaScript
191
star
12

open-source-contribution

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

devui

A complete front end solution for learners
JavaScript
155
star
14

appwriteblog

A sample application to deploy appwrite blog
JavaScript
154
star
15

vscode-theme

A teaching friendly theme for vscode
147
star
16

dom-project-chaiaurcode

Created with StackBlitz ⚑️
HTML
146
star
17

Music-school-hindi

A basic introduction to nextjs with awesome UI
TypeScript
143
star
18

pro-backend-developer

A pro backend developer course
JavaScript
139
star
19

live-code-session

A discussion over creating a backend for e-comm app
JavaScript
131
star
20

chaibackend

a fun test app for backend
JavaScript
127
star
21

nextjs-appwrite-auth

TypeScript
114
star
22

pwjs1

A code repo for pw javascript classes
JavaScript
109
star
23

freeApiAppWeb

CSS
103
star
24

React-application

React files for course
JavaScript
97
star
25

fun-with-tailwind

A fun repo to play with tailwind
CSS
94
star
26

Airvengers

A GUI to pentest wifi Network, based on Aircrack-ng tools
Python
86
star
27

ama-app

TypeScript
84
star
28

BackEndNodeJS

Exercise file for complete backend developer with NodeJS
HTML
83
star
29

leetcode-javascript

All leetcode solution in javascript
HTML
81
star
30

Zustand-crash-course

A crash course on React state management library | Zustand
JavaScript
76
star
31

getHelloWorldweb

A web app to connect people on internet
TypeScript
74
star
32

kubernetes-mern-app

Config files to deploy MERN app using kubernetes
73
star
33

ReactNativeBootcamp

React native bootcamp files for LearnCodeOnline
JavaScript
69
star
34

iOSDev

A course for iOS development using SwiftUI
Swift
69
star
35

testbook

53
star
36

web-dev-21

Learn web development and code files for course is here
HTML
50
star
37

fastify-crash-course

Repo for code files from fastify crash course
JavaScript
44
star
38

AndroidPExerciseFiles

Android P with Machine Learning Apps
Java
42
star
39

tempcpp

cpp test
40
star
40

prisma-crash-course-22

prisma-crash-course-22
JavaScript
40
star
41

appsmith-auth-todo

Appsmith authentication with todo application in reactjs
JavaScript
40
star
42

codespace-auth-22

An auth system totally designed in github codespace
JavaScript
40
star
43

expressjs-mongoose

TypeScript
39
star
44

LCO-sports-web-challenge

39
star
45

youtube-ai-search

youtube-ai-search
JavaScript
34
star
46

React-youtube-api

React-youtube-api
JavaScript
32
star
47

JavaExercise

First commit for Java Exercise files
Java
31
star
48

DjangoExercise1

1st push for DjangoExercise
Python
29
star
49

lco-graphql

A standard babel setup
JavaScript
29
star
50

javascript-youtube

A repo for javascript series on youtube and in some courses too
JavaScript
28
star
51

webpack-youtube-21

code files for webpack crash course | youtube 21
JavaScript
25
star
52

AndroidOExerciseFiles

Java
24
star
53

test-live-class

A temp repo for the teaching purpose
HTML
23
star
54

youtube-winston

Winston video for youtube
JavaScript
20
star
55

angular-course-files-22

Angular course files
TypeScript
18
star
56

docker-youtube

A repo for docker series on youtube
JavaScript
18
star
57

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
16
star
58

SwiftUI-Crash-course-21

Swift UI Crash course - building Mock test view of LCO
Swift
16
star
59

ios11ExerciseFiles

this is public repo for course exercise files
C++
16
star
60

react-auth0-login-with-github-API

react-auth0-login-with-github-API
JavaScript
13
star
61

FirebaseContactAppStart

React Native CRUD app for firebase
JavaScript
13
star
62

react-sample-blog-applicatioan

Sample app in react to learn about components
JavaScript
12
star
63

react-survey-with-firebase

react-survey-with-firebase
CSS
12
star
64

loginegg

A project for frontegg implementation
JavaScript
12
star
65

gitexplore

exploring git
JavaScript
12
star
66

react-api-basics-axios-reddit

JavaScript
11
star
67

Kotlinfiles

Kotlin files here
Kotlin
11
star
68

lcodev

Temp hosting for lco.dev main page
CSS
11
star
69

reacttest

AWS test react
JavaScript
11
star
70

HCBorderMe

This is first cocoapod tutorial
Swift
11
star
71

paymentr-bugs

A repo to track, report and update bug situation
10
star
72

react-login-with-firebase

react-login-with-firebase
JavaScript
10
star
73

katacoda-test

10
star
74

reacy-course-purchase-cart

JavaScript
10
star
75

angular20LCO

Angular course code files
9
star
76

lco-serverless-20

HTML
9
star
77

react-stop-watch

sample react app using date time module
JavaScript
8
star
78

katacoda-scenarios

Katacoda Scenarios
8
star
79

ios10ExerciseFiles

iOS course
Swift
8
star
80

test

Swift
6
star
81

ios10XcodeTour

Swift
6
star