How to Build a Conference App Using AngularJS

Community Articles
Community Articles How to Build a Conference App Using AngularJS

In this tutorial I’m going to show you how to create a “Conference” app using AngularJS, a little bit of Node, and Cosmic. You will be able to add speakers and sponsors, editing content and managing members of this conference in an admin panel. Let’s get started.

TL;DR

Download the GitHub repo.
Check out the demo.

Getting Started:

First, let’s make a new directory to build our project in and lets also make a package.json file.

Now, in your package.json, here's how we'll do it in code:

mkdir conference-app
conference-app$ touch package.json

Second, let’s make a bower.json file.

conference-app$ touch bower.json

We will build this feature for our bower.json:

Config app server:

conference-app$ touch app-server.js

What we're installing and why:

  1. We're going to use the AngularJS framework to build Single-page application
  2. We're installing angular-ui-router for create multi views.
  3. We are going to use gulp for build all js and css files into one file.

Building our app:

Now we're going to build out our file structure a bit more so that we can organize our angular modules and js files. This is what our conference-app directory should look like:

Now we we will set up our index.html:

Here, we are going to target our "root" view to place our angular modules in later. The main.js file located in our dist directory is what our gulpfile.js file will spit out after bundling all of our angular modules.

Now, set up our gulpfile.js. We will build this feature for our app:

After that we can create main module. Here's how we'll do it in code of main.mdl.js file:



Now we we will set up our Auth Controller. Here's how we'll do it in code of auth.ctrl.js file:

We will build Auth Service for our app:



What's going on here:

  1. We are using the ui-router for config routes.
  2. We created Auth Service for our asynchronous calls to our Cosmic API.
  3. We created Auth Controller for checking credentials.

Create User Service for get and update User, here's how we'll do it in code:

Create About Service for get, update content from Cosmic API, here's how we'll do it in code:

Create About Controller for get and update content, here's how we'll do it in code:

Create About Module, here's how we'll do it in code:



What's going on here:

  1. We created About Service for our asynchronous calls to our Cosmic API. We can update, and getting content.
  2. We created About Controller for getting content and update.
  3. We created About Module.

Create Speakers Controller for CRUD Speakers, we will build this feature for our app:

Create Speakers Module, we will build this feature for our app:

Create Speakers Service for CRUD from Cosmic API, we will build this feature for our app:

What's going on here:

  1. We can see information about speakers.
  2. We can CRUD speakers.
  3. We can upload avatar to speaker.

Conclusion:

We were able to consume the Cosmic API with our actions and dispatcher functions. I hope you enjoyed this tutorial as much as I did, if you have any questions reach out to us on Twitter and join our community on Slack.


You may also like


E-commerce app built with Gatsby JS and Cosmic app. Here Cosmic is used as a database as well as a server.
An Object in Cosmic can be a page, a blog post, an author or anything you want it to be. Cosmic gives you the freedom to create and manage content openly and create your own data structure. Each Object allows for the creation of a title, slug, content and Metafields.
All of your images you upload to Cosmic are already transformed to imgix URLs, a powerful real-time image processing and CDN delivery solution. Let's take these images to the next level by optimizing image formats, compressing, intelligently cropping, & more!
This is a JAMstack app with the power of Cosmic. In JAmstack, Vue.js is used as Javascript part, Cosmic as API and Nuxt.js as Markup.
In this tutorial I'll be showing you how I built a Vue.js app with Authentication using Cosmic and AWS Lambda prior to deploying to Netlify. Let's get started.

Get Started with Cosmic

Build personal projects for free. Add your team at unbeatable prices.
Start Building Talk to Sales