This is the backend repository for Nova Verba, an innovative app designed to improve English language skills by recommending new words to users every single day. The app utilizes a Node.js backend with Express, MongoDB for the database, and Vercel for hosting. It also integrates with Firebase, enabling users to log in using their Google accounts.
The primary purpose of this repository is to handle all backend functionalities related to user management, word recommendation, and user word tracking. It leverages a free dictionary API, DictionaryAPI, to search for new words and stores their meanings in the MongoDB database.
Nova Verba is currently deployed and can be accessed at: https://nova-verba.vercel.app/
To run the Nova Verba backend locally, follow these steps:
-
Clone the repository:
git clone https://github.com/whoisaditya/nova-verba-backend.git
-
Navigate to the project directory:
cd nova-verba-backend
-
Install the dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the root of the project. - Add the necessary environment variables, including MongoDB connection string, Firebase credentials, and any other relevant configuration.
- Create a
-
Run the server:
npm start
-
The backend server will be accessible at
http://localhost:3000
.
-
POST /user/login
: User login route. Allows a user to log in using their Google account. -
POST /user/streak/update
: Updates the current streak of a logged-in user. -
POST /user/word/add
: Adds a new word for a logged-in user. -
GET /user/details
: Retrieves the details of a logged-in user. -
GET /user/word/search
: Searches for words related to a logged-in user.
For detailed information on request and response parameters for each endpoint, please refer to the code documentation.
Nova Verba is open-source software licensed under the MIT License.
Feel free to contribute to this project by creating issues or submitting pull requests. Happy learning and word discovering with Nova Verba! 🚀