Inspiration

We noticed that the number of opportunities for Designers as well as platforms for them to showcase their talents are quite low/decreasing. According to this forbes article the number of individual designers is projected to decrease by about 4% between now and 2029. Parallel to this issue, designer labels charge eye-watering prices for their products. For example, Armani's men's tuxedo range starts at $1,200!
So, in this project we have endeavoured to overcome both hurdles: Create a platform where Designers and consumers can meet. This allows the Designers to showcase their talent and allow consumers to commission the article they want directly to the designer. This can even create employment opportunities for the designer if corporates take interest in his/her work. On the flip side, Consumers can get customised apparel without making their wallet cry.

What it does

Our platform allows the Designers to create an account, mention their specialisations as "tags" and upload their work as "Exhibits". Consumers/Other Designers can see their work and can directly contact them via our app's one-to-one chat. Another option is our Chatbot: Rei-sama, Suppose the user is looking for a specific type of clothing or something for a special occasion, he/she can mention it to our Chatbot and we would find the perfect Designer for you. We also keep our user's updated with the latest fashion trends and news.

How we built it

We built the app using Flutter. We used Firebase Auth for Authentication using email, Cloud Firestore for storing Exhibits, Chats, and User details. We used Firebase Storage for storing the images of Exhibits. We used Dialogflow for making the chatbot and a Node.js-Express.js combo for handling the webhook calls to it. We used Agora RTC SDK for Flutter for the video-call feature. While testing, we decided to use ngrok to make a public URL for localhost. We used the News API for... well you can guess it.

Challenges we ran into

This was our first time working with node.js and javascript in general. The concept of NOT having types for variables and constants was weird for us. We made the most "noob" mistake of all-time while handling the webhook calls: forgot to import body-parser.
Initially, we wanted to deploy the backend on heroku, but according to some tutorials we watched, we cannot keep the app and the backend in the same GitHub repo. We couldn't find a way around that, but thanks to TwilioQuest which I (Viz) played extensively in GHW:INIT, we were familiar with ngrok and used it instead to bypass this issue.
This was also the first time i worked with Firebase Storage and the entire process of uploading an image threw up some hurdles, but we managed to overcome them.

Accomplishments that we're proud of

After hours of trying i finally managed to implement a one-to-one chat system (albeit an inefficient system). There was a point where we were going to drop it, but just couldn't imagine the app without it.
We are especially proud of the Dialogflow chatbot, as it personalises User experience with our App to a great degree.

What we learned

Despite javascript's weirdness, its convenient in ways Dart isn't. We would be shifting our Firebase logic to Node.js in future projects. We learnt a great deal about Node.js, express.js, and packages like Nodemon, firebase-admin, etc.
We also learned to use Dialogflow's "Entities" in a better manner (used the synonym strategy for this project). Speaking of which, we also used its "Fulfillment" for the first time, and the amount of freedom it grants allows for some amazing integrations.

What's next for Code:Glamour

As of now, the way chat works is that for each message, two collections get updated. One for the User and one for the recipient. This creates a storage overhead where the amount of space we take is double the amount we actually need. To rectify this we need implement a something similar to a chat-room, but only for two people. Due to time shortage, we weren't able to do things this way, but we will surely work on it in the near future. Other than that, the following items are on the Roadmap:

  • Media sharing in chat.
  • Payment gateway for "Commissions"
  • Enable User to see Designer's profile (Tags and Exhibits)

Built With

Share this project:

Updates