Skip to content

A School of Code event management and ticketing application for organizing and delivering the community classes.

Notifications You must be signed in to change notification settings

vmilitaru/eVenture-server

Repository files navigation

eVenture Application

eVenture-homeeVenture-home

A School of Code event management and ticketing application for organising and delivering the community classes, another School of Code initiative to introduce people from diverse backgrounds to the world of tech. Working in a team of five people, we took on the challenge and we identified the pain points of participants and organisers for this problem. And the solution that we came up with was a web app that allows the bootcampers/organisers to create and manage the events and forthcoming participants to sign up to an upcoming event.

  • Participants can login and sign up for an event.They also have the posibility to see the list of their upcoming events in My Events page, where they can also cancel their registration to a particular event .

eVenture-myEvents

  • Organisers can create and edit events, a functionality to which only the organisers have access based on the access permisions associated to their account in the Auth0 dashboard.
create an event

  • Organisers can track the attendance to a specific event.

eVenture-organiser-view-of-a-specific-event

If you want to see the frontend code of this application head to this repository.

Live Project

Here is the deployed version.

Stack

Getting Started

  1. Make sure that you have Node.js installed and clone the repo.
git clone https://github.com/vmilitaru/eVenture-server.git
cd into the folder
  1. Next, install all the package dependencies to run the app
npm install
# or
npm i

Configuring a Database on Heroku

  1. Go to heroku and sign up for a free account.

  2. Create a new app, give it a name and select the region.

  3. Navigate to the resources tab of your new app.

  4. In the Add-ons search bar, type postgres and select Heroku Postgres.

  5. Select the Hobby Dev - Free plan and click Submit Order Form.

  6. Click the link to Heroku Postgres, this will open a new tab and under the Settings tab you will be able to view your credentials.

Configuring Cloudinary

  1. Go to cloudinary and sign up for a free account.

  2. To configure the cloudinary object you will need to add your cloudinary credentials such as Cloud name, API Key and API Secret displayed in the Dashboard tab as environment variables.

  3. Make sure that on your cloudinary account you have an upload-preset called event_setups. It is basically the place where you want to store the uploaded images. You can always change the upload-preset name into something else but once you do that you need to update as well the cloudinary function that sits in the models folder to matches the new upload-preset name.

  4. Go to Settings>Upload and scroll down until you see the Upload presets section and click Add upload preset link.

  5. Configure the following settings:

    • Upload preset name - should be event_setups
    • Folder - you can name the folder as you wish 👉 the folder will be visible in your Media Library page after you create your first event on the app
  6. Everything else can stay as default and click Save.

  7. Now, under Upload presets section, next to ml_default you should be able to see also the event_setups upload-presets folder

  8. Save the settings.

Configuring Auth0

  1. If you haven't already set up an Auth0 application please head to the frontend repository of this project and in the README document you will find all the steps needed to complete this.

Set up environment variables

To connect the server with your Heroku databse, Auth0, Cloudinary and Nodemailer you'll need to add the relevant settings from your applications as environment variables.

  1. Copy the content of .env.example into a new file called .env.local at the root of this project, then add the missing environment variables:

    • PGHOST, PGUSER, PGDATABASE, PGPASSWORD and PGPORT - can be found in the Heroku Dashboard>Your App>Overview>Heroku Postgres>Settings under View Credentials
    • AUTH0_DOMAIN and CLIENT_ORIGIN_URL- Can be found in the Auth0 dashboard under Applications ,select the created Application and go to settings
    • AUTH0_AUDIENCE - can be found in the Auth0 dashboard under APIs ,got to settings tab and copy the Identifier
    • EMAIL_ADDRESS - this is needed to send the confirmation email of the event to which a participant has registered - you can use your own email address or create a new one
    • EMAIL_PASSWORD - the password of the email that you chose the send the email confirmation of the event
    • CLOUDINARY_NAME, CLOUDINARY_KEY and CLOUDINARY_SECRET - can be found in the Cloudinary dashboard

Available Scripts

In the project directory, you can run:

npm run dev # runs the server
npm run create-events-table #creates the events table
npm run create-tickets-table #creates the tickets table

Contributors ✨

 Fadumo avatarFadumo Aideed Valentina avatarValentina Militaru Amelia-avatarAmelia Collins-Patel Tom-avatarTom Bennet Michael-avatarMichael Swann

About

A School of Code event management and ticketing application for organizing and delivering the community classes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages