/Invictus

A completely deployable MERN Stack project incooperated with Tailwind CSS and Material UI to create a learning and connection focused environment for developers. Earning certifications, making connections, posting in communities, writing blogs, video calls, registering for seminars and so much more is supported.

Primary LanguageJavaScript

Invictus - A Full-Stack Progressive Web App for Developers

Invictus is a knowledge sharing and discussion-oriented real-time application designed for coding enthusiasts to connect and involve themselves within the worldwide developer community. The app will allow users to sign up, create personal profiles, and connect with other developers. Users can follow trending topics of their choice, make their own posts, or post in specific communities. The app also includes features like attending tech-based conferences or video-based webinars, a personal AI assistant, and a specialized Topic of the Day page.

Screenshot 2023-04-15 at 22-48-45 Invictus Screenshot 2023-04-15 at 22-48-29 Invictus Screenshot 2023-04-15 at 22-43-33 Invictus Screenshot 2023-04-15 at 22-43-28 Invictus Screenshot 2023-04-14 at 23-12-23 Invictus Screenshot 2023-04-14 at 23-12-08 Invictus Screenshot 2023-04-14 at 23-11-54 Invictus Screenshot 2023-04-14 at 23-11-36 Invictus Screenshot 2023-04-14 at 23-10-02 Invictus Screenshot 2023-04-14 at 23-09-52 Invictus Screenshot 2023-04-14 at 23-09-38 Invictus Screenshot 2023-04-14 at 23-09-23 Invictus Screenshot 2023-04-14 at 23-09-23 3 Invictus Screenshot 2023-04-14 at 23-09-23 2 Invictus Screenshot 2023-04-14 at 22-09-23 Invictus Screenshot 2023-04-14 at 21-09-23 Invictus template_Certificate Screenshot 2023-04-15 at 22-57-58 Invictus Screenshot 2023-04-15 at 22-52-05 Invictus Screenshot 2023-04-15 at 22-51-47 Invictus Screenshot 2023-04-15 at 22-51-22 Invictus Screenshot 2023-04-15 at 22-51-01 Invictus Screenshot 2023-04-15 at 22-48-58 Invictus Invictus_Screenshot_Communities

Target Audience & Goals

The target audience for Invictus is developers and coding enthusiasts who are interested in knowledge sharing and raising awareness regarding events relating to technology. The app's main goals are to provide a platform for knowledge sharing, creating an immersive environment for developers, and allowing users to get certified in different languages or concepts.

Technology Stack

The Invictus front-end will be developed using React with a few components from Tailwind or Next if needed. The back-end will be aided by MongoDB, Node and Express. We will be making use of a payment API (Stripe), a maps API (Google Maps), and an AI API (Open AI) in some of our features.

App Startup

  • Open two terminals, cd into Server and Client respectively.
  • Call npm-install in each directory.
  • Call npm start in Client.
  • Call npx nodemon index.js in Server.
  • Make sure your Database is Connected.
  • You're good to go.

Requirements

The following features will be implemented in Invictus:

  • Sign Up: Allows users to sign up using Firebase Authentication (Google, Facebook) or through a simple email and password.
  • Log In: Allows users to login using either their credentials or their synced accounts.
  • Technical Oriented Communities: Users can join different communities for knowledge sharing purposes.
  • CRUD Functionality: Creating, updating, and deleting posts will be an integral functionality for users in communities or question and answer section.
  • Making Connections: Users can connect and search each other using specific keywords.
  • Personal Profile | Blog page: Users will have their own profiles to share their achievements, blogs or thoughts.
  • Video Call Functionality: Users can set up video calls for attending online webinars and for connecting with each other.
  • Certifications: Users can improve their rankings and achieve specific certifications in languages or concepts by giving standardized MCQ based tests.
  • Payment Functionality: Certifications shall be paid and will be implemented through a payment API i.e., Stripe.
  • Registration for Seminars | Webinars: Users can view upcoming conferences, seminars or webinars happening in Pakistan revolving around various fields of technology.
  • Personal AI Assistant: An AI chatbot can be provided as a unique side feature that aids users in either development or learning. This can be implemented using AI APIs i.e., Open AI.
  • Maps: If a user has registered for an on-site conference or seminar a Google Maps or similar API will be used to provide its location.
  • Background Music Bot: Users can play background music whilst using the application based upon what song or genre they search.
  • Account Deactivation: If a user wishes to delete their account, it can be done by clearing the database.

Conclusion

Invictus is a full-stack progressive web app designed to provide developers with a platform for knowledge sharing and networking. The app includes various features like video call functionality, certifications, and a personal AI assistant to make learning and development more efficient. The app will be built using React, MongoDB, Node, and Express and will incorporate several APIs like Stripe, Google Maps, and Open AI.