a social calendar application
Find a file
Dominik b26a46274c
All checks were successful
container-scan / Container Scan (push) Successful in 2m29s
docker-build / docker (push) Successful in 4m8s
tests / Tests (push) Successful in 3m44s
Merge pull request 'fix: empty event form edit fields' (#125)
Reviewed-on: #125
Reviewed-by: Maximilian Liebmann <lima@noreply.git.dominikstahl.dev>
2025-07-01 07:20:09 +00:00
.github chore(deps): pin dependencies 2025-06-26 18:01:00 +00:00
.vscode feat: added figma css variables to globals.css 2025-05-21 07:43:30 +00:00
cypress test: integrate cypress 2025-06-25 14:47:55 +02:00
prisma feat(api): upgrade zod to v4 and implement api docs and client generation 2025-06-20 13:59:43 +02:00
public feat(fonts): Add Varela Round and Comfortaa fonts and their OFL licenses 2025-06-05 17:22:45 +02:00
src fix: remove penguin source 2025-07-01 09:08:16 +02:00
.dockerignore chore: prepare docker container for prisma database 2025-05-19 15:14:01 +00:00
.env.example feat(auth): add additional sso providers 2025-06-30 10:18:13 +02:00
.env.test test: integrate cypress 2025-06-25 14:47:55 +02:00
.gitignore test: integrate cypress 2025-06-25 14:47:55 +02:00
.prettierignore chore: setup prettier 2025-04-18 14:25:46 +02:00
.prettierrc.json chore: setup prettier 2025-04-18 14:25:46 +02:00
.yarnrc.yml chore: update yarn version 2025-05-12 09:12:37 +02:00
components.json feat: implements next-themes 2025-05-09 17:37:11 +02:00
cypress.config.ts test: integrate cypress 2025-06-25 14:47:55 +02:00
docker-compose.dev.yml feat(api): upgrade zod to v4 and implement api docs and client generation 2025-06-20 13:59:43 +02:00
docker-compose.yml fix: add missing env variable to docker-compose 2025-05-09 21:51:15 +00:00
Dockerfile chore(deps): update node.js to 5340cbf 2025-06-25 22:11:48 +00:00
Dockerfile.dev chore(deps): update node.js to 5340cbf 2025-06-25 22:11:48 +00:00
entrypoint.dev.sh feat(api): upgrade zod to v4 and implement api docs and client generation 2025-06-20 13:59:43 +02:00
entrypoint.sh chore: prepare docker container for prisma database 2025-05-19 15:14:01 +00:00
eslint.config.mjs fix: update eslint config to include additional ignore patterns 2025-05-19 20:16:31 +00:00
exportSwagger.ts test: integrate cypress 2025-06-25 14:47:55 +02:00
LICENSE chore: init 2025-04-15 18:51:30 +02:00
next.config.ts fix: remove penguin source 2025-07-01 09:08:16 +02:00
orval.config.js feat(api): upgrade zod to v4 and implement api docs and client generation 2025-06-20 13:59:43 +02:00
package.json feat(event): display user calendars on event creation and edit pages 2025-06-28 17:11:56 +02:00
postcss.config.mjs feat: setup Tailwind CSS 2025-05-09 16:35:06 +02:00
README.md chore: update readme with up to date infos 2025-06-30 10:17:47 +02:00
tsconfig.json test: integrate cypress 2025-06-25 14:47:55 +02:00
yarn.lock feat: add Radix UI components and implement sidebar functionality 2025-06-30 23:06:14 +02:00

MeetUP

Table of contents

Description

MeetUP is a social calendar application designed to make coordinating schedules with friends seamless and intuitive. It was created because it can be a hassle coordinating meetings between multiple friends and across different friend groups. MeetUP aims to simplify the process of finding mutual availability without endless back-and-forth messaging.

Project Status

Still in Development: This project is actively under development. Core features are being built, and the application is not yet feature-complete or ready for production use.

Features

Implemented Features

  • Event creation, deletion, and editing
  • SSO and credentials login and signup
  • Participant invitation and status
  • Calendar of your own events
  • Calendar of other users' availability (only in event creation form)

Planned Features (Roadmap)

  • Friendships
  • Group calendars
  • iCal import and export
  • Notifications (in-app and external/mail)

Technologies Used

This project is built with a modern tech stack:

Development environment setup

Without Docker

Prerequisites:

  • Node.js: version 22+
  • corepack: enable using corepack enable

Installation & Running:

  1. Clone the repository:

    • Using HTTPS:
      git clone https://git.dominikstahl.dev/DHBW-WE/MeetUp.git
      
    • Or using SSH:
      git clone ssh://git@git.dominikstahl.dev/DHBW-WE/MeetUp.git
      
    cd MeetUp
    
  2. Install dependencies:

    yarn install
    
  3. Set up environment variables: You will need to create an AUTH_SECRET. You can generate one using the following command:

    npx auth secret
    

    Add any additional needed environment variables into the generated .env.local file. Example variables can be found in the .env.example file. The following variables are required:

    # Generated with npx auth secret
    AUTH_SECRET="your_generated_auth_secret"
    
    DATABASE_URL="file:./dev.db"
    
  4. Apply database migrations (Prisma): Set up/update the database with these commands:

    yarn prisma:generate
    
    yarn prisma:db:push
    

    Tip: You can open the Prisma database UI with yarn prisma:studio

  5. Generate needed TypeScript files: Generate the swagger.json file and the API client using:

    yarn swagger:generate
    yarn orval:generate
    
  6. Run the development server:

    yarn dev
    

    Open http://localhost:3000 in your browser to see the application.

With Docker

Prerequisites:

  • Docker
  • Docker Compose

Running:

yarn dev_container

Production Deployment using Docker

The application can be hosted using the Docker container.

There is an example Docker Compose file provided here.

Contributing

Contributions are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the repository.

  2. Create a new branch:

    git checkout -b <type>/<issueNum>-<short_description>
    
    • Example: feat/42-add_login_form
  3. Make your changes.

  4. Commit your changes using Conventional Commits:

    • The commit message should be structured as follows:

      <type>(optional scope): <short description>
      
      • Example: feat(auth): add login form
      • Example: fix(events): correct event time calculation
      • Example: docs: update README with setup instructions
    • Used types:

      • feat: Feature added
      • fix: Bug fix
      • test: Add or modify tests
      • docs: Documentation changes
      • chore: Changes to non-code files (workflows, lock files, etc.)
      • refactor: Code refactoring without changing functionality
      • style: Code style changes (formatting, etc.)
      • revert: Revert a previous commit
  5. Push to your branch:

    git push origin <type>/<issue#>-<short_description>
    
  6. Open a Pull Request against the main branch.

Please ensure your code adheres to the project's coding standards (run yarn format) and that any database schema changes are accompanied by a Prisma migration.