Skip to content

dokesz/next-szevents

Repository files navigation

Szevents

Description

This is a full-stack web application built with Next.js, React, MongoDB and Tailwind. The application allows users to create, view, and update events. This project was developed for "Projektmunka 2." subject in the university.

Features

  • User authentication
  • User profiles
  • Event CRUD (Create, Read, Update, Delete)

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Node.js (v14 or later recommended)
  • A MongoDB account and cluster set up
  • Google Cloud account for OAuth 2.0 credentials
  • An Uploadthing account for image upload functionality

Project Structure

  • app/: Contains the application's pages and API routes.
  • components/: Reusable React components.
  • models/: Data models for MongoDB.
  • public/: Static files like images.
  • styles/: Global CSS styles.
  • utils/: Utility functions and configurations.

Environment Variables

Set up your environment variables by creating a .env file based on the .example.env template. Here is a list of required variables and their purposes:

  • GOOGLE_CLIENT_ID: Your Google Cloud Console client ID for OAuth 2.0.
  • GOOGLE_CLIENT_SECRET: The client secret associated with your Google Client ID.
  • MONGODB_URI: Your MongoDB cluster connection URI.
  • UPLOADTHING_APP_ID: Your Uploadthing ID.
  • UPLOADTHING_SECRET: Your Uploadthing API key for image upload functionality.

Technologies

  • Next.js version: 14.0.3
  • Next-auth version: 4.24.5
  • React version: 18.2.0
  • Tailwind version: 3.3.3
  • UploadThing version: 5.7.4

Getting Started

To get a local copy up and running follow these simple steps:

  1. Clone the Repository
    git clone https://github.com/dokesz/next-szevents.git
  2. Install dependencies
    cd szevents
    npm install
  3. Run the app
    npm run dev
    The application should now be running on http://localhost:3000.

Contributing

We welcome contributions to the Szevents project. If you're interested in contributing, please fork the repository and submit a pull request with your proposed changes. See our contributing guidelines for more information on how to get started.

License

This project is licensed under the MIT License

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.