|
1 |
| -# atlp-devpulse-bn |
| 1 | +# DevPulse Backend |
2 | 2 |
|
3 | 3 | ## Introduction
|
| 4 | +Pulse is a platform designed to handle ratings for the companies in the **Ed-tech** industries with the its first paying customer being **Andela**. It is currently under development using modern web technologies that prioritize speed and security. This repo holds the codebase for the backend part of the platform which uses **GraphQL, Apollo, and MongoDB**. |
4 | 5 |
|
5 |
| -Pulse is a platform designed to handle ratings for the companies in the **Ed-tech** industries with the its first paying customer being **Andela**. It is currently under development using modern web technologies that prioritize speed and security. This repo holds the codebase for the backend part of the platform which uses **Graphql, Apollo and mongoDB**. |
| 6 | + |
| 7 | + |
| 8 | +## Table of Contents |
| 9 | + |
| 10 | +- [DevPulse Backend](#devpulse-backend) |
| 11 | + - [Introduction](#introduction) |
| 12 | + - [Table of Contents](#table-of-contents) |
| 13 | + - [Hosted Link](#hosted-link) |
| 14 | + - [Features](#features) |
| 15 | + - [Technologies](#technologies) |
| 16 | + - [Getting Started](#getting-started) |
| 17 | + - [Prerequisites](#prerequisites) |
| 18 | + - [Installation](#installation) |
| 19 | + - [Usage](#usage) |
| 20 | + - [Available Scripts](#available-scripts) |
| 21 | + - [API Documentation](#api-documentation) |
| 22 | + - [Contributing](#contributing) |
| 23 | + - [Contact](#contact) |
6 | 24 |
|
7 | 25 | ## Hosted Link
|
8 | 26 |
|
9 |
| -https://andela-devpulse-backend.devpulse.co/ |
| 27 | +The backend is currently hosted at: [https://andela-devpulse-backend.devpulse.co/](https://andela-devpulse-backend.devpulse.co/) |
10 | 28 |
|
11 |
| -## How to run |
| 29 | +## Features |
12 | 30 |
|
13 |
| -To run this project on your local machine make sure that all the following are checked |
| 31 | +- Real-time performance metrics tracking |
| 32 | +- Advanced attendance management |
| 33 | +- Dynamic application cycle overview |
| 34 | +- Secure authentication and authorization |
| 35 | +- Scalable GraphQL API |
14 | 36 |
|
15 |
| -- [ ] Nodejs installed on your computer ([MacOS](https://nodejs.org/en/download/), [Windows](https://nodejs.org/en/download/), [Linux](https://nodejs.org/en/download/)) |
16 |
| -- [ ] Git installed on your computer |
| 37 | +## Technologies |
17 | 38 |
|
18 |
| -Use the following commands to get started with the project |
| 39 | +To successfully navigate and contribute to the codebase, you should have an understanding of the following technologies: |
19 | 40 |
|
20 |
| -```js |
21 |
| -git clone https://github.com/atlp-rwanda/atlp-devpulse-bn.git |
22 |
| -cd atlp-devpulse-bn |
23 |
| -npm install |
24 |
| -npm run dev |
| 41 | +- [GraphQL](https://graphql.org/): A query language for APIs |
| 42 | +- [TypeScript](https://www.typescriptlang.org/): A typed superset of JavaScript |
| 43 | +- [Apollo Server](https://www.apollographql.com/docs/apollo-server/): A GraphQL server |
| 44 | +- [MongoDB](https://www.mongodb.com/): A NoSQL database |
| 45 | +- [Node.js](https://nodejs.org/): A JavaScript runtime |
| 46 | +- [Express](https://expressjs.com/): A web application framework for Node.js |
25 | 47 |
|
| 48 | +## Getting Started |
26 | 49 |
|
27 |
| -### Other scripts and their usages |
28 |
| -- `npm run build` is used to build the production ready version of the projects. |
29 |
| -Used during deployment |
| 50 | +### Prerequisites |
30 | 51 |
|
31 |
| -## Technologies |
| 52 | +Before running this project, make sure you have the following installed: |
| 53 | + |
| 54 | +- [Node.js](https://nodejs.org/) (version 14 or later) |
| 55 | +- [Git](https://git-scm.com/) |
| 56 | +- [MongoDB](https://www.mongodb.com/try/download/community) (local installation or a cloud-hosted instance) |
| 57 | + |
| 58 | +### Installation |
| 59 | + |
| 60 | +1. Clone the repository: |
| 61 | + ```bash |
| 62 | + git clone https://github.com/atlp-rwanda/atlp-devpulse-bn.git |
| 63 | + ``` |
| 64 | + |
| 65 | +2. Navigate to the project directory: |
| 66 | + ```bash |
| 67 | + cd atlp-devpulse-bn |
| 68 | + ``` |
| 69 | + |
| 70 | +3. Install dependencies: |
| 71 | + ```bash |
| 72 | + npm install |
| 73 | + ``` |
| 74 | + |
| 75 | +4. Set up environment variables: |
| 76 | + - Copy the `.env.example` file to `.env` |
| 77 | + - Fill in the required environment variables |
| 78 | + |
| 79 | +5. Start the development server: |
| 80 | + ```bash |
| 81 | + npm run dev |
| 82 | + ``` |
| 83 | + |
| 84 | +## Usage |
| 85 | + |
| 86 | +### Available Scripts |
| 87 | + |
| 88 | +- `npm run dev`: Starts the development server using nodemon |
| 89 | +- `npm start`: Starts the production server |
| 90 | +- `npm test`: Runs the test suite using Jest |
| 91 | +- `npm run build`: Builds the production-ready version of the project using TypeScript compiler |
| 92 | +- `npm run seed`: Runs the database seeding script |
| 93 | + |
| 94 | +## API Documentation |
| 95 | + |
| 96 | +For detailed information about the API endpoints and how to use them, please refer to our [API Documentation](https://atlp-devpulse-bn.onrender.com/graphql). |
| 97 | + |
| 98 | +## Contributing |
| 99 | + |
| 100 | +We welcome contributions to the DevPulse project! Please follow these steps to contribute: |
| 101 | + |
| 102 | +1. Fork the repository |
| 103 | +2. Create a new branch (`git checkout -b feature/AmazingFeature`) |
| 104 | +3. Make your changes |
| 105 | +4. Commit your changes (`git commit -m 'Add some AmazingFeature'`) |
| 106 | +5. Push to the branch (`git push origin feature/AmazingFeature`) |
| 107 | +6. Open a Pull Request |
| 108 | + |
| 109 | +Please make sure to update tests as appropriate and adhere to the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct. |
| 110 | + |
| 111 | + |
| 112 | +## Contact |
32 | 113 |
|
33 |
| -To successfully navigate the codebase of the project, you will need undertanding |
34 |
| -of the following technologies that are being used to develop this application: |
| 114 | + |
35 | 115 |
|
36 |
| -- GraphQl |
37 |
| -- Typescript |
38 |
| -- Apollo server |
39 |
| -- MongoDB |
40 |
| -``` |
| 116 | +Project Links: |
| 117 | +- [https://github.com/atlp-rwanda/atlp-devpulse-bn](https://github.com/atlp-rwanda/atlp-devpulse-bn) |
| 118 | +- https://atlp-devpulse-bn.onrender.com/ |
0 commit comments