Skip to content

DEVents-project/devents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEVents

Alt Text

DEVents is a totally functional and responsive web app created by and for web developers, who are continuously looking for challenges as well as new ways to expand their knowledge. In DEVents you can find all happenings regarding web development (meetups, workshops or conventions) and also sign up and create your own meetups, projects or study groups.

You won’t need to visit several websites to be aware of the latest web development events. You’ll just need to enter DEVents.

Demo

Demo landing

Demo events

Demo mobile phone

Technologies used

DEVents was developed with MERN-Stack technologies:

Frontend

We created this web app with React.js and for the style we used Sass with pure CSS.

reactjs sass

We also used external APIs and libraries to implement or project, like Google Maps or Moments.

google maps moments

Backend

On the backend, we used Node.js. We structured our server with Express.js. The made use of mongoose to store all the data in our MongoDB database and used other packages to develop some features:

Moment.js

We used it to manipulate dates. Working with different APIs brings a lot of inconsistency in the date formats. Moment allowed us to display dates in the desired format.

Node Mailer

Nodemailer is a module for Node.js that we used in our contact form for email sending.

Multer

Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploading files. In our app we the user can create events and upload their own images to our database.

GridFS

GridFS is the MongoDB specification for storing and retrieving large files such as images, audio files, video files, etc. It is kind of a file system to store files but its data is stored within MongoDB collections.

Bcrypt

Bcrypt is a password hashing function and we implemented to keep the user password protected.

nodejs node express node fetch nodemailer multer bcrypt web scraping mongodb

Workflow

Our workflow was based on the agile method with daily meetings regarding backlog and to do tasks, Kanban workflow and weekly sprints with accurate goals.

agile method

Since the beginning we have been storing our progress in a project in github and we have been using git to make any change in the repository.

github git

As this project has been developed during the COVID-19 crisis, all the daily meetings have been taken online through apps like Google Meet and Zoom. We also used platforms like Slack and Trello to keep the communication fluent and work following the tasks posted in the list-making application.

zoom google meet trello slack

Design

Before we started coding, we created some user stories to understand the experience we wanted to give to the users. After that we started a brainstorming to design the website.

We used Figma for the first sketches, where we just avoided to talk about colours or animations but started talking about features we wanted: like a carousel displaying some events, an information site to guide a non registered user to log in, how to display all the events we were going to fetch.

figma

After having a representation of the client side of our project, it was time to inform the backend about the routes the frontend was going to need, so we designed a tree of endpoints.

endpoints

When we started developing the components, we tried with the red colour but after the first results we decided to change to blue. Also we decided to design a minimalist website that offers an easy adventure to the user.

canva figma

Problems faced

Social Challenges

  • Accomplishing fast workflow and efficient communication using a video-conference application.

  • Improving the team’s research and problem-solving skills

  • Forming one idea agreed by all

Tech Challenges

  • Working as a team in the same Github repository

  • Obtaining info from other websites due to lack of APIs

  • Using the Google Maps API

  • Uploading external images to our database

  • Filtering the events

Future Implementations

  • Login/Sign up with the github account

  • Add space for comments in each event

  • Add share options for social networks

DEVents Team

Nadia Daruiz

github account linkedin account

Federico Ientile

github account linkedin account

Jaime Segura

github account linkedin account website

Dana Shacham

github account linkedin account

Marlon Torriente

github account linkedin account

About

DCI final project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published