diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 000000000..7688a4f19 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,48 @@ + + + + + + Marketplace + + +

Marketplace

+ + + + + + + + \ No newline at end of file diff --git a/frontend/src/components/Marketplace.tsx b/frontend/src/components/Marketplace.tsx new file mode 100644 index 000000000..01e2ba5b0 --- /dev/null +++ b/frontend/src/components/Marketplace.tsx @@ -0,0 +1,53 @@ +import React from 'react'; +import { useState, useEffect } from 'react'; +import axios from 'axios'; + +const Marketplace = () => { + const [repos, setRepos] = useState([]); + const [language, setLanguage] = useState(''); + const [stars, setStars] = useState(0); + + const fetchRepos = async () => { + try { + const result = await axios.get('https://api.github.com/repositories'); + setRepos(result.data); + } catch (error) { + console.error('Error fetching repositories: ', error); + } + }; + + const handleFilter = () => { + // Basic filtering logic can be placed here. + console.log('Filtering by:', { language, stars }); + }; + + useEffect(() => { + fetchRepos(); + }, []); + + return ( +
+

Marketplace

+ setLanguage(e.target.value)} + /> + setStars(Number(e.target.value))} + /> + + +
+ ); +}; + +export default Marketplace; \ No newline at end of file diff --git a/tests/__pycache__/test_bounties.cpython-312.pyc b/tests/__pycache__/test_bounties.cpython-312.pyc new file mode 100644 index 000000000..7f41c366e Binary files /dev/null and b/tests/__pycache__/test_bounties.cpython-312.pyc differ diff --git a/tests/__pycache__/test_marketplace.cpython-312.pyc b/tests/__pycache__/test_marketplace.cpython-312.pyc new file mode 100644 index 000000000..9da697e63 Binary files /dev/null and b/tests/__pycache__/test_marketplace.cpython-312.pyc differ diff --git a/tests/test_bounties.py b/tests/test_bounties.py new file mode 100644 index 000000000..5058e8f56 --- /dev/null +++ b/tests/test_bounties.py @@ -0,0 +1,13 @@ +import unittest + +class TestBountyPosting(unittest.TestCase): + def test_post_bounty(self): + # Placeholder for testing bounty posting + pass + + def test_retrieve_bounty(self): + # Placeholder for testing bounty retrieval + pass + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/tests/test_marketplace.py b/tests/test_marketplace.py new file mode 100644 index 000000000..88155767f --- /dev/null +++ b/tests/test_marketplace.py @@ -0,0 +1,15 @@ +# This Python script performs a unit test for the Marketplace component + +import unittest + +class TestMarketplace(unittest.TestCase): + def test_fetch_repos(self): + # Test the fetch_repos function here + pass + + def test_handle_filter(self): + # Test the handle_filter function here + pass + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..84e0c9c5c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "commonjs", + "jsx": "react", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} \ No newline at end of file diff --git a/typedefs.d.ts b/typedefs.d.ts new file mode 100644 index 000000000..df436028f --- /dev/null +++ b/typedefs.d.ts @@ -0,0 +1,2 @@ +declare module 'react'; +declare module 'axios'; \ No newline at end of file