This project is a CMS API for IMPHNEN Website
- RESTful API: Provides endpoints for managing wedding reservations.
- Database Integration: Employs SeaORM for seamless database interactions.
- Authentication: Authentication and Middleware
- CORS Handling: Handling CORS with Tower HTTP CorsLayer
- API Docs: OpenAPI Swager Ready
- Rust: Ensure that Rust is installed on your system. You can install it from rust-lang.org.
- Database: Set up a Postgresql database and note the connection details
- Docker: if you want build this project using docker, you need docker, You can install it from docker.com
- Nix: if you want build this project using nix, you need nix, You can install it from nixos.org
-
Clone the Repository:
git clone https://github.com/IMPHNEN/imphnen-cms-api.git cd imphnen-cms-api
-
Set Up Environment Variables:
Copy a
.env.exanple
file:cp .env.example .env
-
Install Dependencies:
cargo check
cargo build --release
cargo install sea-orm-cli
-
Run Database Migrations:
sea-orm-cli migrate up
-
Start the Server:
cargo run -q
The API will be accessible at
http://localhost:3000/v1/docs
.
-
Build the Docker Image:
docker build -t cms-api .
-
Run the Docker Container:
docker run -p 3000:3000 --env-file .env cms-api cms-api:latest
The API will be accessible at
http://localhost:3000/v1/docs
.
-
Install Nix:
curl -L https://nixos.org/nix/install | sh
-
Switch to Nix Shell or Nix Flake:
nix develop
-
Build the Project:
nix build
-
Run the Server:
nix run
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.