Overview of My Submission
What? 
This is basic project to find messages in your commit history.
Why?
I was thinking to create app to get information from my commits if i want to find some important message that was wrote before.
How?
To get information was used Github-API and to run Redis locally was used Docker.
Improvement ideas
- use GitHub Actions to update information automatically
 - save more dat and filter this data in frontend
 - use advance caching from Redis to increase performance
 
Submission Category:
MERN/RERN(Redis,Express,React,Node) Mavericks
Language Used
- JavaScript
 
Tech-Stack
- Redis to store data (database)
 - Redis to search data (search engine)
 - Node with express (backend)
 - React (frontend)
 
Link to Code
Commit-Searcher
Small project to search commits from your repository.
Example
How it works
How the data is stored:
After server was loaded data will be stored to Redis database from api endpoint.
There are several steps to:
- create Schema like this:
 
const commitSchema = new Schema(Commit, {
    message: { type: 'text' },
    author: { type: 'string' },
    url: { type: 'string' }
})
- get data from your repository:
 
const response = octokit.request('GET https://api.github.com/repos/{owner}/{repo}/commits', {
    owner: process.env.GITHUB_OWNER,
    repo: process.env.GITHUB_REPO
});
- save data to Redis
 
response.then(function(result) {
    result.data.map((commit) => {
        saveDataToRedis(
            commit.commit.message,
            commit.commit.author.name,
            commit.html_url,
        )
    })
})
- create index in Redis:
 
await  commitRepository.createIndex()
How the data is accessed:
Data will be loaded from server via endpoints to frontend. There you can see all commits and search for data.
- Get all data (used search() function from Redis repository)
 
app.get('/commits', async (req, res) => {
    const commits = await commitRepository.search().return.all();
    res.json(commits)
})
- Search messages…
 
Licence: MIT
Additional Resources / Info
Collaborators
Solo project
- Check out Redis OM, client libraries for working with Redis as a multi-model database.
 - Use RedisInsight to visualize your data in Redis.
 - Sign up for a free Redis database.
 

    
Top comments (0)