jadit19/expresso

By jadit19

โ€ขUpdated over 1 year ago

C++ backend framework designed for efficient and fast development of web applications

Image
Languages & frameworks
Web servers
0

8.0K

jadit19/expresso repository overview

โ Expresso โ˜•๏ธ

A C++ backend framework designed for web applications. A few features include:

  • Simple and easy to use API โœจ
  • Built-in HTTP server ๐ŸŒ
  • Out of the box multi-threading support ๐Ÿงต
  • Expandable custom middleware ๐Ÿงฉ

It is pretty straightforward and if you are familiar with the Express.js framework, you will feel right at home, as the API is very similar, which is my goal? ๐ŸŽฏ

โ Installation ๐Ÿš€

  1. Make sure you have the a c++ compiler (such as g++โ  or clangโ ) installed on your system.
Install g++
sudo apt install g++
Install clang
sudo apt install clang

  1. Install the make utilities to build the binary:
sudo apt install cmake make
  1. Clone the repository:
git clone [email protected]:coding-cpp/expresso.git
  1. Clone the submodules:
cd expresso
git submodule init
git submodule update
  1. Make a .env file in the root directory of the project and add the environment variables present in the .env.sample file in it.

  2. Build the project:

mkdir build && cd build
cmake ..
make
  1. Run the server:
./server

โ Example

You can find an example of how to use the framework in the example directory.

โ Docker ๐Ÿณ

You can also run the server using Docker. Make sure you have Docker installed on your system.

  1. Build the Docker image:
docker build -f docker/build.dockerfile -t expresso .
  1. Run the Docker container:
docker run -p 8000:8000 -e PORT=8000 expresso

Alternatively, you can use the pre-built Docker image from Docker Hub (supports both amd64 and arm64 architectures):

docker run -p 8000:8000 -e PORT=8000 jadit19/expresso:latest

If you prefer to use Docker Compose, you can use the provided docker compose file and run it using the following command:

docker compose -f docker/compose.yaml up

โ Contributing ๐Ÿค

If you would like to contribute to the project, feel free to fork the repository and submit a pull request. I am always open to new ideas and suggestions. ๐Ÿš€

โ Bugs and Issues

If you encounter any bugs or issues, feel free to open an issue on the repository. This is a work in progress and since I am the only one working on it, that too in my spare time, I might not have the time to fix it right away, but I will try my best to get to it as soon as possible. ๐Ÿ›๐Ÿ”ง

Tag summary

Content type

Image

Digest

sha256:804cd4ca8โ€ฆ

Size

2.8 MB

Last updated

over 1 year ago

docker pull jadit19/expresso:0.1.7