53414687ff439c397004c272dd9d6a0d09cb479d
IMPHNEN CMS API
This project is a CMS API for IMPHNEN Website
Features
- 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
Prerequisites
- 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
Getting Started
-
Clone the Repository:
git clone https://github.com/IMPHNEN/imphnen-cms-api.git cd imphnen-cms-api -
Set Up Environment Variables:
Copy a
.env.exanplefile:cp .env.example .env -
Install Dependencies:
cargo checkcargo build --releasecargo install sea-orm-cli -
Run Database Migrations:
sea-orm-cli migrate up -
Start the Server:
cargo run -qThe API will be accessible at
http://localhost:3000/v1/docs.
Docker
-
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:latestThe API will be accessible at
http://localhost:3000/v1/docs.
Using Nix as Builder
-
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
Contributing
Contributions are welcome! Please fork the repository and create a pull request with your changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgements
Languages
Rust
97%
Nix
2%
PowerShell
0.4%
Shell
0.4%
Dockerfile
0.2%