Skip to content

Affinity is a web application designed to match individuals based on their intellectual compatibility. Users can create profiles, take quizzes, and find matches who share similar intellectual interests and capabilities. The project aims to foster meaningful connections through a sophisticated matching algorithm.

Notifications You must be signed in to change notification settings

Insha-7/Affinity_frontend

 
 

Repository files navigation

Affinity Frontend

Welcome to the Affinity Frontend repository! This project is part of the broader Affinity platform, focusing exclusively on frontend development. Affinity is a web application designed to connect individuals with similar intellectual levels. The platform utilizes an AI-powered chatbot for matchmaking and includes various interactive games, such as coding rounds, to match users based on their skillset. Once matched, users can engage in meaningful conversations with one another, fostering intellectual connections.

If you're interested in working on the backend of our project, please head over to the following repository Affinity Backend.

Table of Contents

Introduction

The Affinity Frontend is a React-based application designed to deliver a smooth and seamless user experience. This repository houses all the code related to the frontend portion of the Affinity project, and all contributions should be focused on this area. The frontend interacts with the backend through API calls to provide matchmaking services, games, and chat functionality for users.

Features

  • User-friendly interface
  • Responsive design
  • Integration with backend APIs
  • Routing with React Router

Technologies Used

  • React
  • React Router
  • Axios
  • CSS Modules

Installation

To get started with the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/rishyym0927/Affinity_frontend.git
    cd Affinity_frontend
  2. Install dependencies:

    npm install
  3. Even after running npm install, it may give an error while running that "dotenv is not defined". Simply run :

    npm install dotenv

    Now you can re-run the server and this time it will run without any error.

    Please note that you don’t need environment variables to run the project since no environment variables are currently being used in the codebase. The project contains only the frontend code and all the data has been hardcoaded. However, the requirement to install dotenv exists due to the boilerplate code present in the vite.config.js, which includes the dotenv configuration. Aside from this boilerplate setup, there is no practical need for dotenv in the project at the moment.

Usage

To run the application locally, use the following command:

npm start

This will start the development server and you can view the application in your browser at http://localhost:5173.

  • public/: Contains the static files.
  • src/: Contains the source code for the application.
    • assets/: Contains images, fonts, and other static assets.
    • components/: Contains reusable React components.
    • pages/: Contains React components for different pages.
    • App.js: The main App component.
    • index.js: The entry point of the application.

Note: Users are informed that they have the complete right to manipulate the sample data present in sampleData.js, as it is hardcoded. Any changes made will affect only your own codebase and will not impact others.

Routing

Affinity is still under development so it lacks connectivity between its various pages hence there is no button or something kind of that can direct you to other pages. But you can access them by using a / followed by page-route.

Page Name Route
Landing /
Login /login
Register /register
Room Page /room/:roomId
Code Run /coderun
Dashboard /dashboard
Matches /matches
Requests /request
Queue /queue
Chatbot /chatbot
Denied /denied

Contributing

We welcome contributions from the community! Please read our CONTRIBUTING.md file for detailed guidelines on how to contribute to this project.

Hacktoberfest and GSSoC 24

This repository is actively participating in Hacktoberfest and GSSoC 24. We welcome contributions, but please note that only frontend-related tasks are open for contribution. Any modifications or changes to the backend will not be considered. Feel free to raise issues and start working on assigned tasks.

Contact

If you have any questions or need further assistance, feel free to open an issue or contact the maintainers.

Thank you for your contributions!

About

Affinity is a web application designed to match individuals based on their intellectual compatibility. Users can create profiles, take quizzes, and find matches who share similar intellectual interests and capabilities. The project aims to foster meaningful connections through a sophisticated matching algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.8%
  • CSS 4.5%
  • HTML 1.6%
  • Dockerfile 0.1%