3.6 KiB
CliffbreakMeet 💬
This is the main Repository containing all required resources to run the server and a corresponding website.
/server
contains the complete backend. Offering a REST API for all actions.
/webapp
contains the Web App, communicating with the REST API from /server
.
Getting Started
The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
After setting up you local environment, you can access the following services with your web browser:
- Web frontend via http://localhost:8080/
- API documentation via http://localhost:8080/api-docs/
Prerequisites
NodeJS (including NPM)
is required to run this project.
Also a working instance of MongoDB mongod
is required to use all features.
You'll also need git
if you want to contribute to the project.
Installing
First clone this repository to your local machine by using
git clone https://git.cliffbreak.de/Cliffbreak/CliffbreakMeet.git
Change to the cloned repository and inside change your active directory to server
cd CliffbreakMeet && cd server
To install all required packages run
npm install
Copy the .env.example and paste it as .env
cp .env.example .env
To test the application run
npm test
To get the database running create a directory "mongo"
mkdir mongo
To start the mongo run
cd mongo && mongod --dbpath=.
To fill the database with dummy data
npm run seed
To start the server in development mode run the following npm script
npm run dev
Configure Visual Studio Code
If you haven't a instance of Visual Studio Code up and running download the latest version here.
Install the recommended extensions by opening the Extensions-Tab (Ctrl+Shift+X).
Enter @recommended
and install all extensions.
After that restart Visual Studio Code to apply all changes.
Contributing
First create an issue and assign it to yourself. Or assign an existing issue.
Make sure all issue details (description, labels, milestones) are correct.
Check out in a new branch. Notice our convention: use either feature or fix followed by a slash (/
) and then a short description using camel case. (fix/addMissingImports
or feature/addBasicAuth
).
After that you may create a Pull Request to merge your changes into master (If it's work in progress add WIP:
to the title!).
Also refer to our COMMIT_CONVENTION
Deployment
In this section you can read details on the deployment cycle.
Changelog
After bumping the version in the package.json
please run:
npm install
to update all packages and bump the application version.
After that generate a changelog via the changelog
gulp script.
npm run changelog
Then commit and tag your changes using: (use this format for versioning: v[major][minor][patch]
i.e. v1.2.3)
git commit -m 'bump: to {version}
git tag {version}
git push origin
git push origin --tags
Built With
- Node.js - The JavaScript runtime used as the project's base
- NestJS - The framework used to create the REST API
- MongoDB - The database used to store and retrieve data
- HandlebarsJS - Dynamic HTML renderer using templates
Authors
- Simon Giesel - Initial work - Simon Giesel