detleph / server

Server component of the Detleph event management system
MIT License
1 stars 0 forks source link
api docker event-management event-management-system nodejs web

Detleph / Server

Warning Uncharted territories ahead ⛵ This repostiory is part of the Detleph event management sytsem. If you want to deal with the server in isolation, this is the place for you. Otherwise, for installation instructions, guides and other general information, please visit the parent repository.

About 📑

Detleph is a modern event management system built with extensibility, scalability and ease-of-use in mind. This repository contains all of the backend code, collectively called the Detleph server. It is the backbone of the system for storing, providing and managing all data related to your upcoming event(s).

Technology ⚙

The server is build as a monolithic app with cutting-edge technologies, using Node.js: Tech Description
NodeJS Fast JavaScript runtime
Express.js Simple, extensible web framework
TypeScript JavaScript with syntax for types
Prisma Fully type-safe ORM
Postgres Relational database management system (main database)
Redis Fast in-memory database (side database for OTPs, ...)
Docker Docker for fast and reproducible deployments
GitHub For code hosting, collaboration, project planning and CI/CD
REST The whole API is designed around the REST principles

Getting started 🆕

Note As this repository only contains the server, this guide is only concerned with setting up the server and the API (which cannot, or rather should not, be used by normal users)

For instrcutions on how to set up a fully working system, see the parent repository.

Dependencies

Going furhter, we will assume that you have access to a UNIX-like OS and bash, Git and Docker. If you do not have access to any of these, please see:

Set up

Clone the repository:

git clone --recursive https://github.com/detleph/server.git

Create a file called .env with the following contents 📁

Please replace the text in angle braces (eg. <password>) with your own values (eg. good?password)

DATABASE_PASSWORD="<strong database password>"
PORT="3000"
DOMAIN="<server domain name>"
MAILPASSWORD="<strong mail server password>"
ALLOW_ORIGIN="*"
FRONTEND_MAIL_ENDPOINT="<link to be in verification email>"

For a detailed explanation of all these options (and some more), please visit the wiki (coming soon) 🧠

Start the databases, email server and detleph server 🌐

docker-compose up

Finished ✨

The server should now be running on port 3000 (http://localhost:3000)

Usage 🏃

For detailed API documentation and usage guides, please see the wiki (coming soon)

Development & Contributing 👩‍💻

Firstly, we are very excited to welcome any contributions to our projects and help prospective open-sourcerers! 👥 To get started with developing for the server (along with references for all the tooling, configuration and development modes), please take a look at the CONTRIBUTING.md file in the repository

If you want to develop a feature and contribute it to the project, please check out our contributing guidelines and workflows in the CONTRIBUTING.md file

If you have any questions or issues, do not refrain from reaching out to us by opening an issue or reaching out to one of us (@stephan418, @Stefan-5422 or @Flexla54) directly 📫

Issues ⚠

If you have any issues, questions or impulses relating to the server, feel free to open an issue on this repository or by clicking here

License 👩‍⚖️

The license for the server (most likely MIT) can be found in the LICENSE file

Acknowledgements

We lots of amazing resources and projects graciously shared by the community in the development of this project: