https://github.com/chaoss/afos-api
Backend service for the African Open Source(AFOS) project
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Keywords
Repository
Backend service for the African Open Source(AFOS) project
Basic Info
- Host: GitHub
- Owner: chaoss
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://africanopensource.com
- Size: 313 KB
Statistics
- Stars: 3
- Watchers: 8
- Forks: 2
- Open Issues: 3
- Releases: 0
Topics
Metadata Files
README.md
AFOS-API
This is the backend API for the African Open Source(AFOS) project. AFOS is a platform that showcases open source projects from Africa and provides a platform for developers to showcase their skills.
Architecture
This is a monorepo that contains the backend API for the AFOS project. The backend API is built using Node.js, Express, and MySQL. The backend API is responsible for handling all the requests from the frontend. Tools and technologies used in this project include:
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express: A web application framework for Node.js.
- MySQL: A relational database management system.
- Sequelize: A promise-based Node.js ORM for MySQL.
- JWT: A JSON Web Token library for node.js.
- Zod: A TypeScript-first schema validation library.
- Nodemailer: A module for Node.js applications to allow easy as cake email sending.
- Docker: A platform for developers and sysadmins to build, ship, and run distributed applications.
- Jest: A delightful JavaScript Testing Framework with a focus on simplicity.
Database Diagram
This is the database diagram for the AFOS project. The database is built using MySQL. The schema diagram below shows the tables in the database and the relationships between them.
How to setup project
- Clone the repository.
- Run
npm installto install all dependencies. - Create a
.envfile in the root directory and copy the contents of.env.exampleinto it. Fill the variables with the required values. - Run
npm run devto start the server.
How to run tests
- Run
npm run testto run all tests. - Run
npm run test:watchto run all tests in watch mode. - Run
npm run test:coverageto run all tests and generate a coverage report.
Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request. Make sure to follow the Contributing Guidelines before submitting a pull request.
Owner
- Name: CHAOSS
- Login: chaoss
- Kind: organization
- Website: https://chaoss.community/
- Twitter: chaossproj
- Repositories: 64
- Profile: https://github.com/chaoss
GitHub Events
Total
- Issues event: 2
- Watch event: 3
- Issue comment event: 4
- Member event: 2
- Push event: 7
- Pull request event: 1
- Fork event: 2
Last Year
- Issues event: 2
- Watch event: 3
- Issue comment event: 4
- Member event: 2
- Push event: 7
- Pull request event: 1
- Fork event: 2
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Desmond Obisi | d****t@y****m | 8 |
| Elizabeth Barron | e****h@e****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 2
- Total pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 2.0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 2.0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Mbaoma (2)
Pull Request Authors
- DotunV (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- accepts 1.3.8
- array-flatten 1.1.1
- body-parser 1.20.3
- bytes 3.1.2
- call-bind 1.0.7
- content-disposition 0.5.4
- content-type 1.0.5
- cookie 0.7.1
- cookie-signature 1.0.6
- debug 2.6.9
- define-data-property 1.1.4
- depd 2.0.0
- destroy 1.2.0
- ee-first 1.1.1
- encodeurl 2.0.0
- encodeurl 1.0.2
- es-define-property 1.0.0
- es-errors 1.3.0
- escape-html 1.0.3
- etag 1.8.1
- express 4.21.1
- finalhandler 1.3.1
- forwarded 0.2.0
- fresh 0.5.2
- function-bind 1.1.2
- get-intrinsic 1.2.4
- gopd 1.0.1
- has-property-descriptors 1.0.2
- has-proto 1.0.3
- has-symbols 1.0.3
- hasown 2.0.2
- http-errors 2.0.0
- iconv-lite 0.4.24
- inherits 2.0.4
- ipaddr.js 1.9.1
- media-typer 0.3.0
- merge-descriptors 1.0.3
- methods 1.1.2
- mime 1.6.0
- mime-db 1.52.0
- mime-types 2.1.35
- ms 2.0.0
- ms 2.1.3
- negotiator 0.6.3
- object-inspect 1.13.2
- on-finished 2.4.1
- parseurl 1.3.3
- path-to-regexp 0.1.10
- proxy-addr 2.0.7
- qs 6.13.0
- range-parser 1.2.1
- raw-body 2.5.2
- safe-buffer 5.2.1
- safer-buffer 2.1.2
- send 0.19.0
- serve-static 1.16.2
- set-function-length 1.2.2
- setprototypeof 1.2.0
- side-channel 1.0.6
- statuses 2.0.1
- toidentifier 1.0.1
- type-is 1.6.18
- unpipe 1.0.0
- utils-merge 1.0.1
- vary 1.1.2
- body-parser ^1.20.3
- express ^4.21.1

