https://github.com/monquess/monquess-calendar
An advanced and elegant calendar application, built with NestJS and React
https://github.com/monquess/monquess-calendar
mantine nestjs nodejs postgresql prisma react redis rest-api typescript zustand
Last synced: 3 months ago
JSON representation
An advanced and elegant calendar application, built with NestJS and React
- Host: GitHub
- URL: https://github.com/monquess/monquess-calendar
- Owner: monquess
- License: mit
- Created: 2025-02-18T17:25:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-26T10:01:58.000Z (over 1 year ago)
- Last Synced: 2025-03-26T10:31:48.264Z (over 1 year ago)
- Topics: mantine, nestjs, nodejs, postgresql, prisma, react, redis, rest-api, typescript, zustand
- Homepage:
- Size: 3.63 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Overview
An advanced and elegant calendar application for creating and sharing events, built with NestJS and React.
## Table of Contents
- [Project setup](#project-setup)
- [Dependencies](#dependencies)
- [Starting the server](#starting-the-server)
- [Installation](#installation)
- [Database setup](#database-setup)
- [Running the server](#running-the-server)
- [Starting the client](#starting-the-client)
- [API Documentation](#api-documentation)
- [License](#license)
## Project setup
### Dependencies
Before starting, ensure the following dependencies are installed on your system:
- [Node.js](https://nodejs.org/en) v18.8 or higher.
- [PostgreSQL](https://www.postgresql.org) v9.6 or higher.
- [Redis](https://redis.io) v2.6 or higher
### Starting the server
#### Installation
Clone the project repository to your local machine
```bash
$ git clone https://github.com/monquess/monquess-calendar.git
```
Go to the project directory
```bash
$ cd monquess-calendar/
```
Navigate to the backend directory
```bash
$ cd backend/
```
Copy the example .env file and fill in any necessary values
```bash
$ cp .env.example .env
```
Install project dependencies
```bash
$ npm ci
```
#### Database setup
Migrate the database and generate the Prisma client
```bash
$ npx prisma migrate dev
```
Seed the database if required
```bash
$ npx prisma db seed
```
Once the database is seeded, you can log in with any user email and the default password `password`.
#### Running the server
To run the application locally, you'll need to start the server using the following command
```bash
$ npm run start
```
Alternatively you can run app container in Docker
```bash
$ docker build -t
$ docker run -p 3000:3000 --name
```
or with Docker Compose
```bash
$ docker-compose up -d
```
> [!NOTE]
> Make sure you have [Docker](https://www.docker.com) and [Docker Compose](https://docs.docker.com/compose/) installed on your machine.
### Starting the client
Navigate to the backend directory
```bash
$ cd frontend/
```
Copy the example .env file and fill in any necessary values
```bash
$ cp .env.example .env
```
Run the client application using the following command
```bash
$ npm run dev
```
Once the client has started successfully, the apllication will be accessible at http://localhost:4200 or on another port specified in the _.env_ file
## API documentation
If the server is running locally, you can view the documentation at http://localhost:3000/api/docs. This URL provides access to the API endpoints and methods directly from your server environment, allowing you to test and interact with the API in real-time.
> [!NOTE]
> The port shown in the documentation URL may vary depending on the value you specified in the environment variables.
## License
Project is licensed under [MIT License](LICENSE).