Giter Club home page Giter Club logo

inovatech's Introduction

InovaTech - Idea Collaboration Website

InovaTech is a website where users can post their ideas or visions and collaborate with others who are interested in their ideas. It provides a platform for users to connect, discuss, and work together to bring innovative ideas to life.

Overview

InovaTech aims to foster a community of creative individuals who can share their ideas and find like-minded collaborators. The website allows users to post their ideas, receive feedback through comments, and connect with other users who are interested in their ideas.

Features

  • User Authentication: Users can sign up, log in, and log out to access the website's features.
  • Publish Ideas: Logged-in users can publish their ideas by providing a title, description, and optional media file.
  • Browse Ideas: Users can explore all published ideas on the website.
  • View Idea Details: Users can view detailed information about a specific idea, including its title, description, and associated media.
  • Update Ideas: Authors of ideas can update their published ideas, modifying the title, description, or media file.
  • Delete Ideas: Authors of ideas can delete their published ideas from the website.
  • User Profiles: Users have profiles that display their basic information, such as name, email, phone, and LinkedIn profile.
  • Add Comments: Users can comment on published ideas, sharing their thoughts and feedback.
  • View Comments: Users can see all comments associated with a specific idea.
  • Filter Ideas by User: Users can filter ideas based on the author, viewing ideas published by a specific user.

Project Screenshots

https://drive.google.com/file/d/1Ef109OGOewovqX4J3Z6RjLmfnVuGDCfG/view?usp=sharing

Website Demonstration video

https://youtu.be/E-pqZnTPlzw

Website URL

https://inovatech12.netlify.app/

API URL

https://inovatech-riosumit.vercel.app/api/

API Endpoints

The following API endpoints are available:

User Login

URL: /login
Method: POST
Description: Authenticates the user based on email and password.
Request Body: JSON object with email and password fields.
Response: JSON object with user details if authentication is successful, or an error message if authentication fails.

User Sign Up

URL: /signup
Method: POST
Description: Registers a new user with the provided details.
Request Body: JSON object with user details (name, email, password, etc.).
Response: JSON object with the registered user details if successful, or an error message if registration fails.

Check User Login Status

URL: /islogin
Method: GET
Description: Checks if the user is currently logged in.
Response: JSON object indicating whether the user is logged in or not.

Publish Idea

URL: /publish
Method: POST
Description: Adds a new idea to the system.
Request Body: Form data or multipart data containing the idea details (title, description, etc.) and media file (if applicable).
Response: JSON object indicating whether the idea was added successfully or not.

Get All Ideas

URL: /ideas
Method: GET
Description: Retrieves all published ideas.
Response: JSON array containing the details of all published ideas.

Get Idea by ID

URL: /idea/<pk>
Method: GET
Description: Retrieves a specific idea by its ID.
Response: JSON object containing the details of the requested idea.

Delete Idea by ID

URL: /delete/<pk>
Method: GET
Description: Deletes a specific idea by its ID.
Response: JSON object indicating whether the idea was deleted successfully or not.

Update Idea

URL: /update
Method: POST
Description: Updates an existing idea with new details.
Request Body: Form data or multipart data containing the updated idea details (title, description, etc.) and media file (if applicable).
Response: JSON object indicating whether the idea was updated successfully or not.

Get User by ID

URL: /user/<pk>
Method: GET
Description: Retrieves a specific user by their ID.
Response: JSON object containing the details of the requested user.

Add Comment

URL: /comment
Method: POST
Description: Adds a new comment to an idea.
Request Body: JSON object with comment details (idea ID, user ID, comment text, etc.).
Response: JSON object indicating whether the comment was added successfully or not.

Get Comments for Idea

URL: /comment/<pk>
Method: GET
Description: Retrieves all comments associated with a specific idea.
Response: JSON array containing the details of all comments for the requested idea.

Get Ideas by User

URL: /ideas/<pk>
Method: GET
Description: Retrieves all ideas published by a specific user.
Response: JSON array containing the details of all ideas published by the requested user.

Documentation

https://docs.google.com/document/d/1mA2ozYh5U90ANSRvSdkfHncB_UED9Va1Ywzvm88EdJ8/edit?usp=sharing

Getting Started

To get started with InovaTech, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Riosumit/inovatech.git
    
  2. Navigate to the project directory:

    cd inovatech
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Run the development server:

    python manage.py runserver
    
  5. Access the api's locally at http://localhost:8000/

  6. Navigate to the react app directory

    cd interface
    
  7. Install the required dependencies:

    npm install
    
  8. Run the development server:

    npm start
    
  9. Access the website locally at http://localhost:3000/

Contributing

Contributions to ANANTA are welcome! If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Submit a pull request detailing your changes.

Contact

For any inquiries or feedback, please contact Sumit Kumar at [email protected].

Acknowledgements

We would like to acknowledge all the contributors to ANANTA and express our gratitude to the individuals, organizations, and resources that have supported its development.

inovatech's People

Contributors

riosumit avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.